代潇瑞博客

apache伪静态不生效,配置没效果

| 点击次数:16974

伪静态(rewrite)规则可以配置到apache配置文件httpd.conf里面,也可以配置到一个文本文件里面,然后另存为.htaccess放到站点更目录下面。因为我们大多用的是虚拟空间,没有更改httpd.conf的权限,所以更多的是通过配置.htaccess来实现伪静态。


然而很多时候,我们配置了半天,却发现伪静态并没能生效,那么我们应该从这么几个地方去排查:


1. 首先检查是否有开启rewrite,检查方法可以通过phpinfo()来查看“Loaded Modules”中是否有“mod_rewrite”,如下图。


apache伪静态不生效


2. 检查伪静态规则的文件名是否正确,是不是为“.htaccess”,这个词容易写错,所以要注意这一点。


3. 如果是这样的访问形式:http://localhost/daixiaorui/ ,就不要加“RewriteBase /”这句话了,“RewriteBase /”表示定义根路径。这个时候要么注释这句话,要么改成“RewriteBase /daixiaorui/”。


4. 再就是检查写法规则是否正确,下面举一个首页和文章页的例子,可供参考:


RewriteEngine On

#RewriteBase /

RewriteRule ^index\.html$    index\.php [L]

RewriteRule ^read\/([0-9]+)\.html$  read.php?id=$1  [QSA,L]


如果还是不行,那就请看看你的web服务器是不是apache了。

【相关推荐】

触屏版 | 电脑版

Copyright © 2013 代潇瑞博客手机版

QQ: 446673330

粤ICP备13071969号-1