.htaccess文件写法之作用范围

在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。当然,如果全是放在了根目录下,可能还会冲突,不过,又有几个人把不同样的程序放在一个目录下呢?那样不但不容易管理,对以后程序的升级也带来很多的麻烦。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

很多网站需要采用伪静态来访问动态网页。所以像phpcms这样的系统,都提供了一个.htaccess文件,供写伪静态规则。但这个规则是针对Apache的。在nginx服务器上并不起作用。 nginx 可以直接将伪静态规则写在配置文件中,但这个需要有服务器管理权限,普通站长不
本地wamp下调试url重写,加入htaccess文件后提示:500 Internal Server Error ...,而删除这个文件网站又可以正常访问。 百度了一下,都讲了一大通废话,其实就是没有开启url重写的功能。开启一下就可以。 WAMP下htaccess出错的解决方法: 1. 打开wamp安装目
由于我目前的空间支持.htaccess,这篇文章很全面的介绍了.htaccess的功能以及.htaccess写法,同时里面也讲了关于url_rewrite的东西,于是转过来,觉得挺有用处的。
使用htaccess规范化网址,提高程序的运行效率。
.htaccess文件 子目录绑定二级域名
重新开放了Minidx帮助论坛,虽然目前没什么内容,不过顺便想SEO一下,实现伪静态链接。