2011-10-28 13 views
0

ディレクトリに入るものを別のディレクトリにリダイレクトしようとしています。私が使用してのRewriteRuleコマンドは次のとおりです。rewriterule終了スラッシュを処理する方法

RewriteRule ^VirtualDirectory(.*)$ GENS/RealDirectory$1 [L,NC] 

事は、クエリがのVirtualDirectory/

私が得る行動のためだったかのように私はのVirtualDirectoryに終わりスラッシュを使用してクエリを書き換えることを希望ということです偉大WORKDしかしbrwoserに示すURLであるのVirtualDirectoryへ

クエリが/のVirtualDirectoryに クエリを気づかユーザーせずに素晴らしい作品:GENS/RealDirectory/

私は多くのことを試みたが、私はできないです私が望む行動を得る。

私はその具体的なケースを処理するために、ルール

RewriteRule ^VirtualDirectory$ GENS/RealDirectory/ [L,NC] 

を追加した場合、それは何が起こっているページのすべてのリソースがのVirtualDirectory

答えて

0

前のフォルダに書き換え中されていることを除いて素晴らしい作品は、内部の書き換えがあります後続のスラッシュなしで起きると、mod_dirは引き継ぎ、ブラウザは同じURLにリダイレクトされますが、末尾にスラッシュが付きます。 .htaccessファイルのDirectorySlash Offを使用して、mod_dirを無効にすることができます。末尾のスラッシュを常に使用する場合は、ルールを次のように変更してください。

RewriteRule ^VirtualDirectory/?(.*)$ GENS/RealDirectory/$1 [L,NC] 
+0

ありがとうございます。 'DirectorySlash Off'が内部サーバーエラーを引き起こします 私がコメントし、あなたが指定したルールを使用すると、書き直しはうまくいきますが、ウェブページだけに有効です。すべてのリソース(写真、...)は、http://www.mywebsite.fr/myhtaccessDirectory/GENS/RealDirectoryではなく、http://www.mywebsite.fr/myhtaccessDirectory/に書き換えられます(?)。 – user1018233

関連する問題