0

現在、次のコードを .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/ へ

4

1 に答える 1

0

Web アプリケーションではなく、コンテンツを含むサブフォルダーが存在するようなレイアウトの場合、各サブフォルダーにそのような .htaccess ファイルが必要になります。es ディレクトリに配置された同じファイルでうまくいくはずです。

スペイン系スペイン語とペルー系スペイン語の違いについては、es-ES と es-PE を試すことができます。

于 2012-05-11T02:35:53.843 に答える