2010-04-14 125 views
4

这可能看起来像一个愚蠢的问题,但我无法弄清楚。子文件夹的重写规则

比方说,我有一个public_html文件夹与各种文件夹,如:信天翁,黑鸟,乌鸦和Faqs。

我想让它使任何流量到Albatross/faqs.php,Blackbirds/faqs.php,Crows/faqs.php等都会看到faqs/faqs.php文件吗?bird = albatross or faqs /faqs.php?bird=crows或你有什么。

如果我进入信天翁文件夹的.htaccess文件我能做到这一点

RewriteRule faqs.php$ /faqs/faqs.php?cat=albatross[QSA] 

,工作正常,但我想放在顶层.htacces,对所有的人都适用的东西,所以尝试:

RewriteRule faqs.php$ /faqs/faqs.php?cat=albatross[QSA] 

RewriteRule /(.*)/faqs.php$ /faqs/faqs.php?cat=$1 [QSA] 

甚至

RewriteRule /albatross/faqs.php$ /faqs/faqs.php?cat=albatross [QSA] 

和各种各样其他,但似乎没有任何工作,当我去http://www.birdsandwhatnot.com/albatross/faqs.php时,我会以同样的方式看到相同的文件。子文件夹中是否存在.htaccess文件与较高的.htaccess文件冲突?

我错过了什么吗?

+0

第一个问题是您的服务器已关闭。 :) – David 2010-04-14 00:22:21

+0

哈哈我通常使用chuckecheese.com或legalbusiness.ru作为例子! – 2010-04-14 01:25:32

+0

example.com就是一个很好的例子... – jezmck 2011-05-23 11:14:46

回答

2

小幅盘整应该做的伎俩

RewriteEngine on 

RewriteRule ^(.*)/faqs.php$ /faqs/faqs.php?cat=$1 [QSA] 

“/”没有被传递到解析器。

希望它有帮助

+0

这就是我要发布的内容,除了我通常会与[QSA,L]一起去确保没有其他RewriteRules产生麻烦。 – 2010-04-14 03:30:09

+0

谢谢,但这仍然没有效果,我只看到原始页面。我知道我顶级的.htaccess工作,因为我使用它的301等。我在最后尝试了[QSA,L],但这并没有改变任何东西。 – 2010-04-14 17:31:23

+0

确保你已经在.htaccess中启用了重写引擎 RewriteEngine on 还要确保在你的web服务器配置中(假设apache)你已经加载了mod_rewrtite。如果您无权访问配置,请创建一个简单的php脚本,将phpinfo()然后检查加载的模块。 – Pablo 2010-04-14 23:40:35