手把手带你入门 Apache 伪静态的配置
前言
网站伪静态,主要是为了增加搜索引擎的友好度,方便网站内容被搜索引擎收录而诞生的。类似网站上常用的 301 重定向、404 页面的设置等在 SEO 方面是必不可少的。
伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。
网站伪静态有什么好处呢?
1、网站前期如果网站是伪静态的话,更利于搜索引擎收录,而动态的就不容易收录了。
2、伪静态对于 SEO 的意义重大,真正的静态页面空间储存量大,进行删除或者更新这些 html 文件时可造成大量文件碎片,破坏磁盘坏道,而伪静态可以更好的缓解服务器的压力,增强搜索引擎对页面的收录;动态页面虽然可以实时更新,但是有时会导致死循环,对搜索引擎不友好,而伪静态却不会出现这种情况。
但随着搜索引擎的技术不断的更新,渐渐的搜索引擎对动态页面也开始能识别,这里在百度优化官方指南 2.0 里明确的给出指明静态页面的 ULR 完美可以增加用户体验,动态页面依然也可以收录,只要 URL 的参数不要过多的就行。
修改 Apache 配置
打开 apache 的配置文件 httpd.conf
找到
#LoadModule rewrite_module modules/mod_rewrite.so
把前面 #去掉。没有则添加,但必选独占一行,使 apache 支持 mod_rewrite 模块
找到配置文件中如下代码:
把
AllowOverride None 换成 AllowOverride All 使 apache 支持 .htaccess 文件
然后,重启 apache 服务器
在要启用伪静态的 PHP 项目根目录下建立 .htaccess 文件
在 .htaccess 文件中输入内容
注释:
RewriteEngine 为重写引擎开关,on 为开启,off 为关闭。
RewriteRule 是路由转向规则,之前路径为浏览器中要输入路径,这里可以用正则表达式表达。之前路径为浏览器中要输入路径,这里可以用正则表达式表达。+空格 后路径为后台实际转向路径,
转向后台实际路径时可以传参数,例子里的后台页面可以用 GET[′p′]GET[′p′]_GET[‘action’] GET[‘id′]来接收 GET[‘id′]来接收 1 代表浏览器路径中输入的第一个正则表达式的值,以此类推,$2 代表第二个正则表达式的值
RewriteRule 路由转向规则里正则表达式用括号 () 括起来
例子所在项目为 test
在项目下 index.php 页面内写入内容
在浏览器中输入
http://localhost/test/index.html
http://localhost/test/index-99.html
http://localhost/test/page-18.html
都会转向 http://localhost/test/index.php 页面
并且依次
http://localhost/test/index.html 页面什么都不显示
http://localhost/test/index-99.html 页面显示 p : 99
http://localhost/test/page-18.html 页面显示 action : pageid : 18
版权声明: 本文为 InfoQ 作者【迷彩】的原创文章。
原文链接:【http://xie.infoq.cn/article/5fda80a79d18364d3b25c7332】。文章转载请联系作者。
评论