我试图创建一个代码,将用户重定向到他们浏览器的语言。问题是该网站也有语言选择器。并且此重定向代码强制语言不允许用户选择他想要选择的语言。 语言网址是:
http://www.example.com (English)
http://www.example.com/es (spanish)
http://www.example.com/fr (french)
每种语言都有一个文件夹,因此,西班牙语位于名为“es”的文件夹中,文件夹内部是一个index.html,此文件指向父目录中的资产文件。
这是.htaccess档案中的代码。
RewriteEngine On
RewriteCond %{REQUEST_URI} !\.(jpg|gif|png|css|js|php)$
RewriteCond %{HTTP:Accept-Language} ^(es.*) [NC]
RewriteCond %{REQUEST_URI} !(^/es/.*) [NC]
RewriteRule ^(.*)$ /es/$1 [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^(fr.*) [NC]
RewriteCond %{REQUEST_URI} !(^/fr/.*) [NC]
RewriteRule ^(.*)$ /fr/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !(^/.*) [NC]
RewriteRule ^(.*)$ /$1 [L,R=301]
手动更改语言的代码:
<a href="http://www.example.com/es">es </a> <a href="http://www.example.com/fr"> fr</a>