目前我已将以下代码添加到 .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/