如何使用重写规则从 URL 中删除字符串

如何使用重写规则从 URL 中删除字符串

可能重复:
您想了解有关 Mod_Rewrite 规则的所有信息但又不敢问吗?

有时我的 drupal 网站会在图片 url 中添加额外的字符串,这会导致图片损坏。url 是

http://mysite.com/sites/default/files/imagecache/list_image_page/%252F站点/默认/文件/img.jpg

需要什么重写规则来删除上述链接中加粗的(%252F)部分,
即:

http://mysite.com/sites/default/files/imagecache/list_image_page/sites/default/files/img.jpg

我试过这个,但没有用

重写条件 %{QUERY_STRING} ^(.*)\%252Fsites(.*)$
重写规则 %{REQUEST_URI} %1站点%2

答案1

您应该尝试这个重写规则来替换/删除。

RewriteRule ^(.*)[%252F](.*)$ $1$2 [N]

答案2

你确定这是 Drupal 的一个 bug 吗?你链接的 bug 报告的最后一条评论是这样的:

如果您使用自定义代码,请删除图像路径中的前导 /。

答案3

我认为应该

重写规则 ^(.*)%2Fsites(.*)$ $1sites$2 [L,R=301,NC]

相关内容