Url 重写 [.htaccess] 转换

Url rewrite [.htaccess] convert

我有一个 web.config 的 iis 服务器,我需要将重定向转换为 apache [.htaccess] 我尝试这样做并且我成功地得到了这个:

RewriteRule ^wp-content/uploads/.+?\.(jpe?g|png|gif|svg)$ https://XX/YY%{REQUEST_URI} [R=301,L]

我被重定向到“HTTPS/xx/yy/wp-content/uploads” 但我需要得到这条路: “HTTPS/xx/yy/uploads” - 没有 wp-content。 我该怎么做? 谢谢!

您需要 RewriteRule 模式 中的捕获组排除 wp-content/ 前缀,并在 替换 字符串,而不是 REQUEST_URI,它包含整个 URL-路径。

例如:

RewriteRule ^wp-content/(uploads/.+\.(jpe?g|png|gif|svg))$ https://XX/YY/ [R=301,L]

不需要中间的非贪婪量词(即。.+?) - 没有的话效率会稍微高一些。

您需要在测试前清除浏览器缓存,因为错误的 301(永久)重定向已被浏览器缓存。

首先使用 302(临时)重定向进行测试,以避免潜在的缓存问题。