.htaccess - 语言不匹配时htaccess强制重定向
问题描述
example.com/mvc/fr
当用户编写不匹配的语言或编写索引而不是语言喜欢时example.com/mvc/index.php
,我正在尝试重定向example.com/mvc/en
这是我尝试过的:
Options -MultiViews -Indexes
RewriteEngine On
RewriteBase /mvc/
RewriteCond %{HTTP_HOST} .*example.com [NC]
RewriteCond %{HTTP:Accept-Language} ^ar [NC]
RewriteRule ^$ https://%{HTTP_HOST}/mvc/ar/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ https://%{HTTP_HOST}/mvc/en/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ https://%{HTTP_HOST}/mvc/de/ [L,R=301]
RewriteCond %{REQUEST_URI} !^/(en|ar|de)/
RewriteRule ^ /mvc/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)/?$ index.php?lang=$1 [QSA,NC,L]
我的代码有什么问题?
解决方案
推荐阅读
- regex - 正则表达式仅禁止使用确切的单词,但允许扩展单词
- angular - Angular - Spring Boot - Keycloak - 401错误
- c++ - 如何从具有类对象的文件中获取特定输入并将其与一个值进行比较,然后输出某些行
- c++ - 你能告诉我比较是如何工作的吗,输入 operator == (arguments)
- javascript - 错误:元素类型无效:应为字符串或类/函数,但得到:对象
- c++ - 非静态成员引用的二维数组问题
- php - Laravel - 导出
- spotfire - 从 spotfire 中的数据表创建文档属性
- json - 在经典 ASP 中将 JSON 内容添加到 WinHttpRequest POST 请求时出现问题
- python - 当从缓冲区初始化而不是逐行将数据写入缓冲区时,StringIO 的行为似乎有所不同