在我的基本目录中,我有很多文件夹。我想把这些文件夹放到子目录中。
domain.com/test/test.html
将具有文件结构:
domain.com/subdir/test/test.html
仍然在同一个网址:domain.com/test /
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteRule ^(.*)$ /subdir/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
从此处的另一个答案中复制,但它也会停止对基本目录的其他请求。
我需要它来检查子目录中的foldername匹配,如果它存在或者不是从基本目录提供。
答案 0 :(得分:0)
试试这个:
RewriteEngine on
# these conditions are optional, they're to make sure you don't clobber a legit request
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# these conditions aren't optional, they check to see if the requested file/dir exists inside /subdir
RewriteCond %{DOCUMENT_ROOT}/subdir%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/subdir%{REQUEST_URI} -d
# rewrite
RewriteRule ^(.*)$ /subdir/$1 [L]