2012-06-18 9 views
6

を見つけていない場合、私は私が必要モッズ書き換えディレクトリのファイル/フォルダ

www.domain.com/ www.domain.com/folder1

私のルートディレクトリに「folder1のを」という名前のフォルダを持っていますwww.domain.comへのすべてのリクエストを404エラーになるようにfolder1にリダイレクトします。

www.domain.com/a_file.txt

a_file.txtがfolder1の中で見て、存在しない場合:そのような

www.domain.com/folder1/a_fileを。 www.domain.com/a_folder

(リダイレクトの場合:

TXT私はこれがそうのように、サブディレクトリのために同じことを仕事をしたいですそれは-f!私は私がするRewriteCond%{REQUEST_FILE}を使用する必要があります知っている

www.domain.com/folder1/a_folder)ルートに

存在しませんが、私はそれを理解するように見えることはできませんでる。

答えて

15
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !^/folder1/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) folder1/$1 [L,R] 
  • 第リライト-CONDは、いずれかの第二の一方は、そのターゲットをチェック
  • ファイル
  • 第三のないファイルがfolder1の内部に存在しない場合には(ループのない保証 - そのフラグは、最後に適用されたルールであることを示します(後にルールがある場合でも)。Rはリダイレクトを意味します。必要に応じてQSAフラグを追加することもできます。クエリ文字列パラメタ元のURLに送信されたrsは新しいURLに送信されます
+0

私はループの回避と説明のために+1を書いていました。 – zessx

関連する問題