最初に行う必要があるのは、すべてのコードを調べて、ログイン リンクを次のように変更することです。
www.abc.com/login/es
余分な接続とリダイレクトを節約できます。
次に、 www.abc.comドキュメント ルートの htaccess ファイルに/login/?lang=something、より見栄えの良い URL への要求が行われたときにクライアントをリダイレクトするルールが必要です。
RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /login/?\?lang=([^&\ ]+)
RewriteRule ^ /login/%2? [L,R=301]
次に、見栄えの良い URLをクエリ文字列を持つURLに内部的に書き換えるルールが必要です。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?login/(.*)$ /login/?lang=$1 [L]
ベース URI が (たとえば から/loginに/login/es) 変更された場合、相対リンクが引き続き正しく解決されるように、ログイン ページにベース URI を含める必要がある場合があります。これを行うには、ページのヘッダーに次のタグを追加します。
<base href="/">