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(临时)重定向进行测试,以避免潜在的缓存问题。
我有一个 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(临时)重定向进行测试,以避免潜在的缓存问题。