【问题标题】:Apache .htaccess redirect URL directories containing parametersApache .htaccess 重定向包含参数的 URL 目录
【发布时间】:2013-04-02 18:51:39
【问题描述】:

很抱歉成为另一个乏味的 mod_rewrite 问题的提问者,但在过去几个小时没有取得任何进展后,我认为是时候提问了 ;)

我正在尝试重定向如下 URL:

/some/thing?a=1 --> http://something-else.com/blah

/some/thing?a=1&b=whatever --> http://something-else.com/blah2

无需保留参数值 - 新 URL 将为我必须重定向的每个 URL 进行硬编码。

尝试了一些与其他帖子不同的东西,但没有任何乐趣,所以我回到了原点,欢迎提出任何建议。

谢谢! :)

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    您可以使用以下规则集:

    RewriteEngine On
    
    RewriteCond %{QUERY_STRING} ^a=1$
    RewriteRule /some/thing http://something-else.com/blah [L]
    

    这确实是一个很常见的问题,人们往往会忽略QUERY_STRING 变量。你以前试过吗?

    【讨论】:

    • 谢谢。我在底部添加了规则,而不是在阻止它工作的“RewriteEngine On”正下方。
    【解决方案2】:

    这是我最后用的:

    重写引擎开启

    RewriteCond %{QUERY_STRING} ^(a=1&b=whatever)$

    重写规则 /some/thing http://something-else.com/blah2 [L,R=301]

    我是在底部添加规则,而不是在阻止它工作的“RewriteEngine On”正下方。

    这个解决方案仍然将参数附加到http://something-else.com/blah2,这不是我想要的,但它会做。

    【讨论】:

      猜你喜欢
      • 2013-07-04
      • 2012-07-21
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-11
      • 2015-06-06
      • 1970-01-01
      相关资源
      最近更新 更多