.htaccess作用范围浅析

发布时间:2020-03-21编辑:脚本学堂
你知道.htaccess文件的作用范围吗?本文通过一个标准的小例子,为大家介绍其作用范围的相关知识,有兴趣的朋友,快来看看吧。

.htaccess配置详解一文中,我们曾经介绍了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。

当然,如果全是放在了根目录下,可能还会冲突,不过多个程序全在根目录的情况太少了。