【问题标题】:Url rewrite [.htaccess] convert网址重写 [.htaccess] 转换
【发布时间】:2022-01-18 00:55:04
【问题描述】:

我有一个 iis 服务器的 web.config,我需要将重定向转换为 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/(uploads/)(.+?)\.(jpe?g|png|gif|svg)$ https://XX/YY/$1/$2.$3 [R=301,L].

标签: apache .htaccess redirect


【解决方案1】:

您需要在 RewriteRule pattern 中排除 wp-content/ 前缀的捕获组,并在 substitution 字符串中使用它,而不是 REQUEST_URI,后者包含整个 URL 路径。

例如:

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

不需要中间的非贪婪量词(即.+?) - 没有它会稍微更有效。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多