我有一个这样的目录:
/hop/disk1/0000/1231/file.txt
https://192.168.1.1/hop/disk1/0000/1231/file.txt
但是一些文件在hop中不存在,存在于hop2:
中/hop2/disk1/0000/1231/file.txt
如果hop中不存在文件,如何将请求重定向到hop2?
谢谢。
答案 0 :(得分:1)
您可以设置具有前两个条件的重写规则:
RewriteCond %{REQUEST_FILENAME} !-f
- 对于存在的文件RewriteCond %{REQUEST_FILENAME} !-d
- 对于存在的目录之后,规则本身很简单 - 在/hop/
之后捕获整个文件路径并重写URI,使其以http://192.168.1.1//hop2/
开头,并以相同的文件路径结束。
RewriteRule ^/hop/(.*)$ http://192.168.1.1/hop2/$1 [L]
全部放在一起:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/hop/(.*)$ http://192.168.1.1/hop2/$1 [L]