1

私はApache/.htaccessの達人ではありません。

URL:base-url/destination/の場合、Cookie に保存されている言語でページを表示する必要があります。Cookie に保存された言語がない場合、または Cookie が存在しない場合は、ブラウザの言語と同じページを表示する必要があります。

.htaccessさて、これを達成するために、ファイルにルールを次のように書きました。

RewriteCond %{REQUEST_URI} /destination/$ 
RewriteCond %{HTTP_COOKIE} language_uiAAA(\w{3}).*?BBB
RewriteRule ^(.*)\$ $httpbase/%1/destination.html

これにより、Cookie に保存された言語でページが正しく表示されます。

しかし、 を使用してルールを作成するように求められましたSetEnvIf, SetEnvIfNoCase or prefer-language

したがって、私はグーグルでこれらのルールを書きました:

SetEnvIf ^Cookie$ "(.+)" HTTP_MY_COOKIE=$1
SetEnvIf HTTP_MY_COOKIE ".+language_uiAAA(.+?)BBB.+" saved_language=$1
SetEnvIf saved_language "^(.+)$" prefer-language=$1

しかし、これらのルールは機能していません。助けてください。

また

より良い方法を提案してください。

4

1 に答える 1