2017-05-24 82 views
0

所以我有以下文件夾結構:的.htaccess重寫文件夾發行

-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」的任何URL定向到'web/rt'(例如/ rt /和/ rt/secure /)以及其他所有內容都轉到'web'。出於某種原因,'rt'重定向不起作用,一切都將'網絡'。任何幫助是極大的讚賞。


例子:

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

感謝賈斯汀,但加入'RewriteBase /'確實奏效。 – Paul

回答

0

問題是,第二個規則正在改寫一切的第一個規則的,甚至目標。

您可以:

RewriteEngine On 

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

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

現在第二個規則將跳過與/web/開頭的URI。

+0

感謝您的回覆,但對此問題無效。 – Paul

+0

清除瀏覽器緩存並告訴哪些網址無法正常工作以及錯誤是什麼。 – anubhava

+0

緩存被清除,沒有URL正在啓動/ rt /。該錯誤是一個404,它是從'web'文件夾而不是'rt'文件夾呈現其內容。 – Paul