来源:http://www.ido321.com/1123.html
今天get了一招:利用.htaccess文件对PHP站点或文件进行伪静态处理。
一、检查server是否支持伪静态处理:
必需要空间支持 Rewrite 以及对网站文件夹中有 .htaccess 的文件解析,才有效.找到apache安装文件夹下的httpd.cof文件,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#(大概在154行,我的默认是开启)
二、在httpd.cof中查找下面部分:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
改为:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
假设没有,手动加入。
(PS:LZ试过,在近期的新版本号的Apache上即使没有这个,.htaccess照样生效。可是不同server及版本号的原因,建议加上)
三、重新启动apacheserver,加入.htaccess文件
建立.htaccess文件的方式:
1、保存文件的时候将文档保存成名为“***.txt”。再将其上传到server上,之后直接使用FTP软件来重命名为“.htaccess”。
(适合windows)
2、保存文件的时候选择文件—>另存为。保存类型选全部文件。然后文件名称输入.htaccess 。
(适合windows)
3、直接在你的Unix或Linux虚拟主机上建立。
4、先用记事本编写好。随便保存为一个什么文件名称,然后打开“命令提示符”(CMD),然后再用重命名命令(rename),比如:rename c:\htaccess.txt .htaccess
请注意: .htaccess必须。保存为ANSI 格式,以ASCII模式上传,最好将其权限设置为644。
一般我们将.htaccess文件放置在站点的根文件夹,控制所在文件夹及全部子文件夹,当然也能够放在站点的不论什么一个子文件夹下,但假设放置在子文件夹中,子文件夹中的指令会覆盖更高级文件夹或者主server配置文件里的指令。
在博客收录集(http://www.ido321.com/1112.html)为例。本地.htaccess文件例如以下:
#rewriteengine为重写引擎开关on为开启off为关闭 RewriteEngine On RewriteRule ^index\.html$ index.php RewriteRule ^webmore\.html$ webmore.php
原始 news/detail.php?id=2 伪静态 news/detail_2.html
RewriteRule ^news/detail_([0-9]{1,})\.html$ news/detail.php?id=$1