【问题标题】:mod rewrite redirectmod重写重定向
【发布时间】:2012-08-24 08:10:46
【问题描述】:

全部,

我对模组重写很陌生。我需要将其网址中带有“citzenhawk”参数的任何用户重定向到我的网址

例如:

http://www.mywebsite.com/?sc=CX12N003&cm_mmc=affiliate-_-citizenhawk-_-nooffer-_-na&prfc=5&clickid=0004c845fa9a87050a4277221a003262

应该导致重定向到:

http://www.mywebsite.com/

这是我的重写条件:

RewriteCond %{QUERY_STRING} (&|^)cm_mmc=(.*)citizenhawk(.*)(&|$)$
RewriteRule ^/rrs/ [NC,R=302,L]

我哪里出错了?有人可以帮我举个例子吗。

TIA

【问题讨论】:

    标签: mod-rewrite url-rewriting


    【解决方案1】:

    试试:

    RewriteCond %{QUERY_STRING} ^cm_mmc=[^&]*citizenhawk [OR]
    RewriteCond %{QUERY_STRING} &cm_mmc=[^&]*citizenhawk
    RewriteRule .* / [R=permanent,L]
    

    这将重定向在名为 cm_mmc 的查询字符串变量中包含“citizenhawk”的任何请求。它发出一个永久(代码 301)请求,但如果这只是一个临时重定向,则将其保留为 R=302

    不清楚您为什么要检查/rrs/ 的请求,所以我使用.* 来捕获所有请求。

    【讨论】:

    • 感谢 user1515834 的回复。我没有任何测试环境,不希望在没有测试的情况下将其投入生产。有没有可用的在线工具,所以我可以测试这种情况?再次感谢您的帮助。
    • 我都不知道。如果您正在运行生产环境,您确实需要运行配置尽可能接近生产设备的测试设备,以便您可以看到更改将如何生效。如果做不到这一点,可能会将变量名称和关键字更改为几个测试值(例如 test_mmc 和citizentest),然后查看这些测试值是否根据需要重定向。一旦您确信重定向有效,然后更改为实际值。
    猜你喜欢
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    相关资源
    最近更新 更多