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 回答