您好我正在处理本地服务的远程站点副本,我不想将所有图像下载到网站上,所以我想我可以想出一个mod_rewrite规则来抓取来自如果找不到远程服务器
我想将导致404的任何图像请求重定向到远程服务器 即是这样的:
^localpath(.*) http://otherhost/localpath$1
这是我的代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [NC]
RewriteRule ^/(.*\.(png|gif|jpg|jpeg)) https://www.exmple.com/$1 [NC,P,L]
</IfModule>
该页面仍在为远程服务器上的图像提供404,因此此规则无效。
我知道正在处理htaccess,因为正在使用IfModule mod_rewrite.c块中的规则。 (我简化了我的代码示例,但这是IfModule mod_rewrite.c块中的第一个规则)
修改 此代码可用于重定向所有404的
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.+) https://www.example.com/$1 [L]
答案 0 :(得分:2)
!-f
中应该有RewriteCond
,因此规则适用于不的文件。
同样$1
将只是文件扩展名,因为该组将首先被解析。我想你想要$2
。
子文件夹中的文件不以RewriteRule中的/开头,因此您可能也希望从匹配模式中删除它。