2017-01-13 8 views
0

特定のパラメータを含む特定のページのセットをURLにリダイレクトする必要があります。私は.htaccessリダイレクトに少し慣れていますが、これは私に頭痛を与えています。.htaccess特定のルートへのリダイレクト

私はhttps://www.xxxxxx.com/index.php?page=shop.ask&flypage=flypage_images.tpl&product_id=182&category_id=39&option=com_virtuemart&Itemid=9

をリダイレクトする:これは私が後にインデックスとINDEX2が、パラメータをリダイレクトするために書かれているルールである https://www.xxxxxx.com/index.php?page=shop.ask

「?」

RewriteEngine on 

RewriteRule index[0-2]*.php?page=shop.(.*)$ https://www.xxxxx.com/index.php?page=shop.ask [R] 

は私が脱出する必要がORとして採用されています「か」そのphpをphまたはphpとみなし、それ以降のパラメータはapacheによって考慮されていないためです。

このルールを使用してREWRITECONDも使用しようとしましたが、動作しません。

正しいリダイレクトルールを提案してください。

答えて

0

RewriteCondを使用する必要があります。試してください:

RewriteEngine On 
RewriteCond %{QUERY_STRING} page=shop.ask&flypage=flypage_images.tpl&product_id=182&category_id=39&option=com_virtuemart&Itemid=9 
RewriteRule ^index.php https://www.xxxxx.com/index.php?page=shop.ask [R,L] 

これは、クエリ文字列が常に指定した順序で常に表示される限り有効です。それ以外の場合は、[AND]と組み合わせて各パラメータに対してRewriteCondsの束を作成する必要があります。

関連する問題