现在的位置: 首页 -> LAMP学习 -> apache伪静态不生效,配置没效果

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

2015-06-06 23:39评论数 0 ⁄ 被浏览 3810 views+

伪静态(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了。

 

文章出自:http://www.daixiaorui.com/read/156.html 本站所有文章,除注明出处外皆为原创,转载请注明本文地址,版权所有。

分享到:

目前有 0 条评论  @我要评论

    您的每一个评论都是对我的一份支持

     博客二维码

    昵称 *

    邮箱 *