目前我已将以下代码添加到.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 / to www.site.com/es/page/test/
答案 0 :(得分:0)
如果您的布局是包含内容的子文件夹而不是Web应用程序,那么您需要在每个子文件夹中都有这样的.htaccess文件。放在es目录中的同一文件应该可以解决问题。
至于区分西班牙语 - 西班牙语和秘鲁语 - 西班牙语,您可以尝试使用es-ES和es-PE。