Apache htaccess如果找不到映像,则更改请求的一部分\u URI名称404/403

Apache htaccess如果找不到映像,则更改请求的一部分\u URI名称404/403,apache,.htaccess,Apache,.htaccess,您好,我需要有关htaccess和更改部分请求URI的帮助 我在许多文件夹上都有一个图像,如以下url: https://pic.domain.com/images/111/34%20(Big).jpg 只有当服务器404或403上不存在该映像时,我才需要将url更改为 https://pic.domain.com/images/111/34.jpg 我需要从%20大字符串中删除并重定向到新url 我试过这样做: RewriteEngine on RewriteCond %{REQUEST_

您好,我需要有关htaccess和更改部分请求URI的帮助

我在许多文件夹上都有一个图像,如以下url:

https://pic.domain.com/images/111/34%20(Big).jpg
只有当服务器404或403上不存在该映像时,我才需要将url更改为

https://pic.domain.com/images/111/34.jpg
我需要从%20大字符串中删除并重定向到新url

我试过这样做:

RewriteEngine on
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^([^/]+)/%20(Big)/?(.*)$ /$1/$2 [R=301,L]
但是我不知道我下一步需要做什么


谢谢

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

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]
RewriteEngine On
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} \.jpe?g$
RewriteRule ^([^\s]+)\s([^\s]+)\.(.+)$ /$1.$3 [R=301,L]
如果jpg或jpeg都这样做:

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

接下来要做的事情显然是阅读您想要使用的工具的文档。我尝试过这个重写规则^[^/]+/%20Big/?.$/$1/$2[R=301,L]谢谢,但我尝试过htaccess.mwl.be上的ot,它不起作用。你可以添加一个规则,只有在404是jpg文件时才重新选择吗?谢谢,但现在它重定向所有图像,而不仅仅是404图像。粘贴其余的。htaccess似乎你应该启用这些行重写cond%{REQUEST_URI}!/images/RewriteRule^.*$/images/$1,全力以赴,然后将我的代码放在它们下面