我使用的是Apache 2.2,并提供一个网站,它的一些内容移动到不同的目录。 有没有一种方法来对.htacces文件进行某种重写规则,如果请求的文件(无论是php还是jpg或其他)都不存在,要预先指定一个目录名并重试?
例如:
如果请求URL是a / b / c.jpg并且不存在,
尝试在/old/a/b/c.jpg中search。
谢谢!
我认为你可以用-f (检查文件是否存在)。 尝试像这样(未经testing):
RewriteEngine on RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} ! -f RewriteRule ^(.*)$ /old/$1 [L,R=301]
编辑:固定错字。
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !/old/ RewriteRule ^(.*)$ /old/$1 [L,QSA]
我认为还需要检查目录。 并添加最后一个RewriteCond以避免recursion重写。