.htaccess - 如何使用 .htaccess 基于浏览器语言进行重定向
问题描述
我在目录“www.example.com/it_IT”中有一个意大利网站,在“www.example.com/en_GB/”上有一个英文网站
我试图根据浏览器位置重定向用户。它适用于 index.php。
但如果浏览器语言是意大利语或“www.example”,它不会重定向复杂的 url,例如“www.example.com/something/something”,不会重定向到“www.example.com/it_IT/something/something”。 com/en_GB/something/something" 如果位置是英国
这是我的.htaccess
文件:
RewriteEngine On
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ http://example.com/en_GB/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^it [NC]
RewriteRule ^$ http://example.com/it_IT/ [L,R=301]
解决方案
试试这个 :
RewriteEngine On
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteCond %{REQUEST_URI} !en_GB [NC]
RewriteRule ^(.*)$ http://example.com/en_GB/$1 [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^it [NC]
RewriteCond %{REQUEST_URI} !it_IT [NC]
RewriteRule ^(.*)$ http://example.com/it_IT/$1 [L,R=301]
推荐阅读
- sas - SAS LAG 函数问题(不在条件子句中)
- javascript - 在javascript的模板文字中将对象作为参数传递
- apache - 如果无法访问 LDAP AuthProviders 之一,如何避免 Apache“内部服务器错误”?
- wso2 - 使用 WSO2 API 管理器发布 API 失败
- blazor - Blazor:从布局访问参数
- ksh - 找到字符串后打印数组范围 KSH93 版本 M
- reactjs - 在 gridstack.js 之后无法运行反应应用程序
- php - Nginx 错误导致 502 Bad Gateway
- c# - 带有 GridViewColumn 和 DataTemplate 代码的 WPF ListView
- vb.net - DataTable RowFilter 正在取消选中 CheckedListBox 中的复选框