.htaccess重写规则将所有子文件夹重定向到另一个文件夹

时间:2013-03-12 14:55:45

标签: .htaccess mod-rewrite

我的.htaccess规则存在问题。我有以下场景:在我的root更改之前,我有一个名为“eleague”的文件夹,一切正常。现在我有另一个名为“competitions”的文件夹(在根目录中)和一个.htaccess(在root文件中),我写了一些规则,如下所示:

RewriteRule ^aleague/(.*)-(\d+).html.*$                 /competitions/competition.php?t_id=$2&text=$1  [L]
RewriteRule ^bleague/(.*)-(\d+).html.*$                 /competitions/competition.php?t_id=$2&text=$1  [L]
...
RewriteRule ^eleague/(.*)-(\d+).html.*$                 /competitions/competition.php?t_id=$2&text=$1 [L]

我现在想要的是修改“eleague”文件夹中的.htaccess文件,将所有请求重定向到我的新位置(上面的最后一条规则要匹配)。诀窍是我不能(它必须!!)从我的目录结构中删除“eleague”文件夹。

1 个答案:

答案 0 :(得分:0)

如果您想在浏览器栏中显示新网址,则必须在规则中添加redirect R flag

RewriteRule ^eleague/(.*)-(\d+).html.*$ /competitions/competition.php?t_id=$2&text=$1 [R,L]