【问题标题】:.htaccess redirect URL last part to same URL query strings value?.htaccess 将 URL 最后一部分重定向到相同的 URL 查询字符串值?
【发布时间】:2014-07-01 12:04:04
【问题描述】:

在我的wordpress 站点中,我需要执行以下重定向。

http://www.mydomain.com/magazine-landing/lon-mayf/http://www.mydomain.com/magazine-landing/?code=lon-mayf

这里lon-mayf可以是任何东西。

我在# END WordPress 之后尝试了.htaccess 文件中的以下代码,但它不起作用。

RewriteEngine On
RewriteRule ^magazine-landing/*$ www.mydomain.com/magazine-landing/?magcode=$1 [R=301,L]

我该如何做这个重定向?

谢谢。

【问题讨论】:

    标签: wordpress apache .htaccess redirect


    【解决方案1】:

    RewriteRule 是按照它们出现的顺序执行的。 wordpress 的规则匹配所有请求,因此它永远不会达到您的规则。除此之外,你的规则并没有真正做到你描述的应该做的事情。

    将此规则高于 wordpress 规则低于 RewriteEngine on:

    RewriteRule ^magazine-landing/([^/]+)/?$ /magazine-landing/?code=$1 [QSA,R,L]
    

    在完成测试后将R 标志替换为R=301 以使其永久化。由于缓存,使用永久重定向进行测试可能会产生意想不到的结果。

    【讨论】:

    • 谢谢,但lon-mayf 是动态文本。它可以是任何东西。那么哇,那我能做到吗?
    • 通过使用捕获组。 [^/] 匹配除/ 字符之外的任何字符。 $1 替换为第一个捕获组。
    • 这是工作。 “完成后将 R 标志替换为 R=301..” 不清楚这一点。我什么时候应该这样做?只有 R 有什么问题吗?
    • R 是一个临时重定向。客户端现在被重定向的事实并不意味着它下次会重定向到同一个地方,或者根本就重定向。出于性能原因,(有时)会缓存永久重定向。它还告诉客户端将来使用新的 url。我相信它对谷歌等搜索引擎有影响。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-03-24
    • 2018-10-10
    相关资源
    最近更新 更多