適切なテーマページを取得するために、rewritemap を使用してクエリ文字列のパラメーターを取得する URL があります。これはうまく機能し、デフォルトの言語で適切なテーマページが表示されます。
ユーザーがこのページの言語を変更したい場合、同じ URL へのリダイレクトを実行しますが、言語パラメーターが URL に追加されます。
問題は、テーマページに書き換えられず、テーマページではなく当社のホームページに書き換えられることです。
www.mysite.co.uk/theme/cars のような URL は、www.mysite.co.uk/themepages/themepage.aspx?pgid=1 に書き換えられます。
言語パラメーターを追加します: www.mysite.co.uk/theme/cars?lng=2 は www.mysite.co.uk/themepages/themepage.aspx?pgid=1&lng2 にリダイレクトする必要があり、代わりにホームページに書き換えられます。アドレスバーの URL は正しいです。したがって、書き換え規則は正しくないはずです。
これは私の httpd.conf の一部です
<VirtualHost www.mysite.co.uk>
RewriteEngine on
AllowOverride all
RewriteBase /
RewriteMap thememap txt:C:\rewritemaps/redirectmap.txt [NC]
RewriteCond %{QUERY_STRING} ^$ [OR]
RewriteCond %{QUERY_STRING} ^lng=(.*)$ [NC]
RewriteRule ^theme/([^?/]+)\.* /themepages/themepage.aspx?pgid=${thememap:$1} [NC,QSA,L]
</VirtualHost>
なぜこれが起こるのか、誰かが手がかりを持っていますか?