2011-07-29 7 views
0

に動作していないに、RedirectMatch私はhttp://site.com/home?page=123 http://site.com/home をリダイレクトしたいが、次のルールdoesntの仕事301正規表現が

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

任意の助けいただければ幸いです。ありがとう

+0

/homeはおそらくオプションである必要があります。 ^/home/?¥?(.*)$ –

+0

@Loveleen Kaur 1)どのURLをリダイレクトしたいのか、最終的なURLは何かを明確にしてください(例えば=>から)。 。 2)Redirect/RedirectMatchディレクティブを使用して、またはmod_rewriteを使用して、これをどのようにしたいのですか? – LazyOne

+0

@ Laszone、1. source = www.site.com/home?page=123 destination www.site.com/ 2.リダイレクトが機能する限り、どの方法でもかまいません –

答えて

1

残念ながら、RedirectMatchはクエリ文字列では機能しません - URLのパス部分のみで動作します。あなたはそのためmod_rewriteのを使用する必要があります:Webサイトのルートフォルダ内の.htaccessで

Options +FollowSymLinks 

RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} =page=123 
RewriteRule ^home$ http://www.site.com/? [R=301,L] 
  1. 置き、それを。他の場所に配置されている場合は、いくつかの調整が必要になることがあります。

  2. /home?page=123のリクエストのみをリダイレクトします。その他のリクエスト(例:/home?page=123&extra=hello)はすべて無視されます。