我正在设置一个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]
答案 0 :(得分:0)
您的htaccess文件外观文件。如果该URL不包含语言代码,并且以http开头,则首先将用户重定向到https,然后将其重定向到包含该语言代码的新URL。因此,在两次重定向之后,用户将被重定向到正确的页面。
两个重定向不能同时应用。因此,将首先应用第一个重定向规则,然后再应用第二个规则。