如果未找到IMAGE,则htaccess更改REQUEST_URI名称的一部分404/403

时间:2018-03-12 10:17:21

标签: apache .htaccess

我需要帮助htaccess并更改REQUEST_URI的一部分

我有像这样的文件夹的文件图片:

https://pic.domain.com/images/111/34%20(Big).jpg

只有当该图像不存在于服务器404或403上时,我才需要将网址更改为

https://pic.domain.com/images/111/34.jpg

我需要从%20(Big)字符串中删除并重定向到新网址

我试过这个:

RewriteEngine on
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^([^/]+)/%20(Big)/?(.*)$ /$1/$2 [R=301,L]

但我不知道接下来我需要做什么。

谢谢!

1 个答案:

答案 0 :(得分:1)

你可以根据自己的要求做很多场景,一个是这样的:

RewriteEngine On
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^([^\s]+)\s([^\s]+)\.(.+)$ /$1.$3 [R=301,L]

注意:清除浏览器缓存,然后对其进行测试。

如果您想仅使用.jpg扩展名匹配错误请求,请执行以下操作:

RewriteEngine On
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} \.jpg$
RewriteRule ^([^\s]+)\s([^\s]+)\.(.+)$ /$1.$3 [R=301,L]

如果两个jpg or jpeg都这样做:

RewriteEngine On
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} \.jpe?g$
RewriteRule ^([^\s]+)\s([^\s]+)\.(.+)$ /$1.$3 [R=301,L]