2011-07-29 61 views
0

我想重定向http://site.com/home?page=123 http://site.com/home 但下面的規則不起作用redirectMatch 301正則表達式是不工作

redirectMatch 301 ^/home/\?(.*)$ http://www.site.com/ 

任何幫助,將不勝感激。謝謝

+0

家後可能應該是可選的。 ^/home /?\?(.*)$ –

+0

@Loveleen Kaur 1)您能否澄清一下您想要重定向的URL以及最終的URL是什麼(例如從=>到) - 現在還不太清楚。 2)你想如何做 - 使用Redirect/RedirectMatch指令..或使用mod_rewrite? – LazyOne

+0

@Lazyone,1.來源= www.site.com/home?page=123目的地www.site.com/ 2.只要重定向工作,任何方法都可以接受 –

回答

1

不幸的是RedirectMatch指令不適用於查詢字符串 - 只與URL的路徑部分。你必須使用mod_rewrite的爲:

Options +FollowSymLinks 

RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} =page=123 
RewriteRule ^home$ http://www.site.com/? [R=301,L] 
  1. 其放置在.htaccess在網站根目錄。如果放置在其他地方,可能需要進行一些調整。

  2. 它只會重定向請求/home?page=123。所有其他請求(例如/home?page=123&extra=hello)將被忽略。