.htaccess文件写法之作用范围
程序员文章站
2022-05-19 21:17:37
有太多的朋友会碰到一个问题,那就是htaccess文件冲突的问题,比如说,一个站点,全站是用伪静态,并且是用的虚拟主机,那就必须要用.htaccess文件规则来实现,同时用...
有太多的朋友会碰到一个问题,那就是htaccess文件冲突的问题,比如说,一个站点,全站是用伪静态,并且是用的虚拟主机,那就必须要用.htaccess文件规则来实现,同时用cms文件做门户用dz做bbs,用wp做blog,我只知道wp与dz程序的静态化就会存在着冲突,可能会导致dz的静态化文件失效。这样的话,就用到了htaccess文件的作用范围。
下面写一个最基本,也是最标准的htaccess文件:
# begin
<ifmodule mod_rewrite.c>
rewritebase /products
rewriteengine on
rewriterule ^index-page([0-9]*)(/)?$ index.php?page=$1
rewriterule ^([0-9]+)(/)?$ products.php?id=$1
</ifmodule>
# end
此文件的rewritebase 属性就是作用范围,不单单是.htaccess文件放置位置,这个属性是一个绝对路径,当然也是.htaccess的存放的路径,而下面的所有规则将相对于此路径生效。
这样的话,wp与dz冲突的问题就可以解决了,可以把wp的htaccess文件放在blog下,然后把bbs目录下放上dz的htaccess。当然,如果全是放在了根目录下,可能还会冲突,不过,又有几个人把不同样的程序放在一个目录下呢?那样不但不容易管理,对以后程序的升级也带来很多的麻烦。
下面写一个最基本,也是最标准的htaccess文件:
复制代码 代码如下:
# begin
<ifmodule mod_rewrite.c>
rewritebase /products
rewriteengine on
rewriterule ^index-page([0-9]*)(/)?$ index.php?page=$1
rewriterule ^([0-9]+)(/)?$ products.php?id=$1
</ifmodule>
# end
此文件的rewritebase 属性就是作用范围,不单单是.htaccess文件放置位置,这个属性是一个绝对路径,当然也是.htaccess的存放的路径,而下面的所有规则将相对于此路径生效。
这样的话,wp与dz冲突的问题就可以解决了,可以把wp的htaccess文件放在blog下,然后把bbs目录下放上dz的htaccess。当然,如果全是放在了根目录下,可能还会冲突,不过,又有几个人把不同样的程序放在一个目录下呢?那样不但不容易管理,对以后程序的升级也带来很多的麻烦。