1

サイトを再構築して立ち上げ (example.com と呼びます)、古いサイトに legacy.example.com のサブドメインを割り当てました。ユーザーが古いサイトの注文履歴にアクセスできるようにする必要がありますが、古いサイトで製品を閲覧したり、カートにアクセスしてチェックアウトしたりしたくありません。そのため、ログイン/ログアウト ページ、アカウント ページ、領収書ページを除くすべてをリダイレクトする必要があります。

Login page = page.php?pg=extranet&mode=login  
Logout page = page.php?pg=extranet&mode=logout  
Account page = page.php?pg=extranet  
Order listing page = page.php?pg=extranet&mode=orderstatus  
Receipt page = receipt.asp

私は一日の大半をこれに悩まされ、インターネット中を行き来していましたが、条件の「および」と「または」の魔法の組み合わせを見つけることができません. それは可能ですか、それとも複数の条件/ルール セットに分割する必要がありますか? どうすればいいですか?

RewriteCond %{REQUEST_URI} !^/receipt.asp [OR,NC]
RewriteCond %{REQUEST_URI} !^/page.asp [NC]
RewriteCond %{QUERY_STRING} !^pg=extranet [OR,NC]
RewriteCond %{QUERY_STRING} !^pg=extranet&mode=login [OR,NC]
RewriteCond %{QUERY_STRING} !^pg=extranet&mode=logout [OR,NC]
RewriteCond %{QUERY_STRING} !^pg=extranet&mode=orderstatus [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
4

1 に答える 1