2017-05-24 22 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] 

アイデアが始まるURLは「室温」ということですがに向けられています'web/rt'(/ rt /と/ rt/secure /など)、それ以外のものはすべて 'web'に移動します。何らかの理由で 'rt'リダイレクトが機能せず、すべてが 'web'になります。どんな助けでも大歓迎です。


例:

/     > 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

ブラウザのキャッシュをクリアして、動作していないURLとエラーの原因を教えてください。 – anubhava

+0

キャッシュはクリアされていますが、start/rt /というURLは機能していません。エラーは、 'rt'フォルダではなく 'web'フォルダからコンテンツをレンダリングする404です。 – Paul