.htaccess重写文件夹问题

时间:2017-05-24 15:00:36

标签: apache .htaccess redirect mod-rewrite

所以我有以下文件夹结构:

-public_html/
   - .htaccess
   - web/
       - index.php
       - rt/
           -index.php

.htaccess包含以下内容:

RewriteEngine On

RewriteRule ^rt/(.*)$ web/rt/$1 [NC,QSA,L]
RewriteRule ^(.*)$ web/$1 [NC,QSA,L]

这个想法是任何网站开始' rt'指向' web / rt' (例如/ rt /和/ rt / secure /),其他一切都进入了网络'。出于某种原因,' rt'重定向不起作用,一切都将进入网络状态。非常感谢任何帮助。

示例:

/                 > web/index.php
/my_page/         > web/index.php
/rt/              > web/rt/index.php
/rt/another_page/ > web/rt/index.php

1 个答案:

答案 0 :(得分:0)

问题是第二条规则是重写第一条规则的目标。

你可以:

RewriteEngine On

RewriteRule ^rt/(.*)$ web/rt/$1 [NC,L]

RewriteRule ^(?!web/)(.*)$ web/$1 [NC,L]

现在,第二条规则将跳过任何以/web/开头的URI。