我的根目录
中有一个名为“folder1”的文件夹www.domain.com/ www.domain.com/folder1
我需要将所有请求重定向到www.domain.com,这些请求最后是404错误,发送到folder1。像这样:
www.domain.com/a_file.txt
如果a_file.txt不存在,请查看folder1:
www.domain.com/folder1/a_file.txt
我希望这对于子目录也是如此:
www.domain.com/a_folder (如果根目录中不存在,则重定向)
www.domain.com/folder1/a_folder
我知道我应该使用RewriteCond%{REQUEST_FILE}!-f但我似乎无法弄明白。
答案 0 :(得分:16)
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/folder1/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) folder1/$1 [L,R]
L
标志表示这是应用的最后一条规则(即使后面有规则),R
表示重定向。如果您希望将传递给原始文件的任何查询字符串参数发送到新网址,您还可以添加QSA
标记