フォルダーやファイルの種類を除外する方法は知っていますが、特定の単語を含むリンクを除外する方法がわかりません。私はこのルールを持っています:
RewriteCond %{HTTP_HOST} ^www\.domain\.com
RewriteRule (.*) http://en.domain.com/$1 [QSA,L]
先頭に index.php?a=admin があるリンクをこのルールから除外する方法
フォルダーやファイルの種類を除外する方法は知っていますが、特定の単語を含むリンクを除外する方法がわかりません。私はこのルールを持っています:
RewriteCond %{HTTP_HOST} ^www\.domain\.com
RewriteRule (.*) http://en.domain.com/$1 [QSA,L]
先頭に index.php?a=admin があるリンクをこのルールから除外する方法
これでうまくいくはずです:
RewriteCond %{HTTP_HOST} ^www\.domain\.com
RewriteCond %{REQUEST_FILENAME} index\.php
RewriteCond %{QUERY_STRING} !^a=admin
RewriteRule (.*) http://en.domain.com/$1 [QSA,L]
ここでは、ホストがwww.domain.com
であり、要求されているファイルがindex.php
であり、クエリ文字列が ではない場合にのみ書き換えが発生する可能性があることを示す条件を追加していますa=admin
。
したがって、www.domain.com/test
にリダイレクトされますen.domain.com/test
が、www.domain.com/index.php?a=admin
まったくリダイレクトされません。