> CentOS > CentOS教程 >

CentOS下开启Apache支持.htaccess伪静态文件

服务器版本:Centos 6.5 
前言: 
1、什么是伪静态? 
     说白了伪静态就是地址中不带”?”,也就是平常在网上看的的以.html展示的页面 
2、伪静态的由来 
     伪静态是相对真实静态来讲的.通常我们为了更好的缓解服务器压力,和增强搜索引擎的友好面.都将文章内容生成静态页面就是展示出来的是以.html一类的静态页面形式 
3、伪静态的利与弊 
     利:有利于被搜索引擎收录,可以防止注入,也可以防止盗链。相对于真静态而言,伪静态的应用对硬盘的损坏小。 
     弊:伪静态将占用一定量的CPU占有率,其原因就是伪静态应用了大量的正则表达式,举个例子,就是有一个页面为“lampPHP.PHP?id=2”经过 伪静态处理可以转为“lampPHP_2.html”或者“lamp_2.html”这都是可以的,所以这需要耗掉一定的内存来将其区分开的。

一、开启支持 
1、检测Apache是否支持mod_rewrite 
     通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则还不支持,继续往下看。

2、打开httpd.conf文件

vim /etc/httpd/conf/httpd.conf

3、找到:LoadModule rewrite_module modules/mod_rewrite.so (190行左右)如果该行代码前面有“#”号,取消掉,就可以开启mod_rewrite支持,如果没有就不要修改。

4、设置AllowOverride  同样的在httpd.conf 中找到下面的脚本

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

把None改成All

5、如果有多个需要在后面追加  如果有多个需要在最后加

<Directory /var/www/html/aa>     // var/www/html/aa是你的目录
Options FollowSymLinks
AllowOverride All
</Directory>

二、测试结果  1、在网站根目录下创建404.html错误页面,用于测试

vim 404.html

404.html的内容,随意写点都行。

    测试伪静态是否开启正常!!!

2、创建.htaccess文件

vim .htaccess

伪静态文件的内容

RewriteEngine On     //开启引擎
ErrorDocument 404 /404.html      //规则

其中404.html为站点根目录下的一个错误文件,需要你自己建立。重新启动Apache,随便访问一个网站没有的路径,如http://localhost/abcd.htm,如果出现了刚才设置的404错误页面则代表伪静态开启成功。



(责任编辑:IT)