代码之家  ›  专栏  ›  技术社区  ›  Rocky Sena

如何使用特殊url重定向url?

  •  1
  • Rocky Sena  · 技术社区  · 9 年前

    我想将此类型的url重定向到我的主页

    http://www.mywebsite.com/index.php?showuser=
    

    http://www.mywebsite.com/
    

    我可以用.htaccess做这个吗?如何做到这一点。我试过了,但没用。

    redirectMatch 301 /index.php?showuser= http://www.mywebsite.com
    

    RedirectMatch 301 /index.php\?showuser\= http://www.mywebsite.com
    
    2 回复  |  直到 9 年前
        1
  •  0
  •   Jon Lin    9 年前

    无法与 RedirectMatch 正则表达式。您需要使用mod_rewrite和 %{QUERY_STRING} 变量:

    RewriteEngine On
    RewriteCond %{QUERY_STRING} ^showuser=
    RewriteRule ^index\.php$ /? [L,R=301]
    
        2
  •  0
  •   Sumurai8    9 年前

    也不 Redirect RedirectMatch 可以匹配查询字符串。这个 ? 在里面 重定向匹配 实际上意味着“前一个字符0或1次”,并将与“index.php”匹配。请注意,您也没有正确使用圆点。

    您可以使用mod_rewrite解决此问题。确保它已启用,并且允许覆盖FileInfo。然后使用以下指令:

    RewriteEngine on
    RewriteCond %{QUERY_STRING} ^showuser=$
    RewriteRule ^index\.php$ / [R,L]
    

    改变 [R] [R=301] 如果您希望在测试后使重定向永久化,那么一切都可以按预期工作。