現在、次のコードを .htaccess に追加しました。このコードはブラウザの言語を検出し、スペイン語の訪問者を /es/ に転送します
スペイン語のユーザーが mysite.com にアクセスすると、自動的に mysite.com/es/ に送信されます。
RewriteEngine On
RewriteCond %{HTTP:Accept-Language} ^(es.*) [NC]
RewriteCond %{REQUEST_URI} !(^/images/.*)
RewriteCond %{REQUEST_URI} !(^/es/.*) [NC]
RewriteRule ^(.*)$ /es/$1 [L,R=301]
これは正常に機能しますが、サブフォルダーでは機能しません。たとえば、同じユーザーが mysite.com/page/ にアクセスした場合、mysite.com/es/page/ には送信されません。
すべてのサブフォルダーで機能するようにコードを変更するにはどうすればよいですか?
wwwリダイレクトで可能なように
rewriteCond %{HTTP_HOST} !site.com
rewriteRule ^(.*)$ site.com/$1 [R=301,L]
site.com/page/test/ にアクセスすると、自動的に www.site.com/page/test/ にリダイレクトされますが、このようなものは www.site.com/page/test から移動する言語では機能しないようです/ www.site.com/es/page/test/ へ