.htaccess,mod_rewrite和子目录

时间:2009-09-05 17:54:17

标签: apache .htaccess mod-rewrite

关于.htaccess文档,将.htaccess文件放在目录中会影响此目录和所有子目录。但是我无法解决这个问题:

我必须使用文件,alice.html和bob.html(只打印“Alice”和“Bob”),并将此.htaccess放在同一目录中(/ tmp / rewrite):

RewriteEngine on
RewriteBase /tmp/rewrite
RewriteRule ^alice.html$ bob.html

当我尝试访问/tmp/rewrite/alice.html时,我得到“Bob” - 很好。

但是当我将相同的html文件放在子目录/ tmp / rewrite / sub中并尝试访问/tmp/rewrite/sub/alice.html时,我会得到“Alice”。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

行为是正常的..你告诉apache mod_rewrite alice.html进入bob.html,以防它出现在那些规则的已定义“root”上。如果要将规则应用于其他文件夹,则必须应用其他几个规则,如下所示:

RewriteRule ^/sub/alice.html$ /sub/bob.html