如何将域重定向到https并添加默认语言

时间:2019-06-27 15:32:09

标签: apache http https server centos

我正在设置一个Apache服务器,并希望将几种类型的域重定向到https,并且如果原始url中不存在zh_tw或zh_cn,则还要在url中添加默认语言zh_tw

例如:

www.something.com/news-> https://www.something.com/zh_tw/news

something.com/news-> https://www.something.com/zh_tw/news

http://something.com/news-> https://www.something.com/zh_tw/news

http://www.something.com/zh_cn/news-> https://www.something.com/zh_cn/news

我使用htaccess测试器测试我的代码,但由于使用其他主机而导致失败,这似乎会导致重定向?有人可以帮我解决这个问题吗?

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteRule !^(zh_tw|zh_cn)/ zh_tw%{REQUEST_URI} [R=302,L]

enter image description here

1 个答案:

答案 0 :(得分:0)

您的htaccess文件外观文件。如果该URL不包含语言代码,并且以http开头,则首先将用户重定向到https,然后将其重定向到包含该语言代码的新URL。因此,在两次重定向之后,用户将被重定向到正确的页面。

两个重定向不能同时应用。因此,将首先应用第一个重定向规则,然后再应用第二个规则。