我总是在一次重定向中重定向到https://www.example.ch 。 现在,我多次重定向,最终使用我的网址,同时使用我的网址别名。重定向链如下所示:
Status Code URL IP Page Type Redirect Type Redirect URL
302 http://www.xn--exmple-icb.ch/ 5.9.75.43 server_redirect temporary https://xn--example-icb.ch/
302 https://xn--exmple-icb.ch/ 5.9.75.43 server_redirect temporary http://example.ch/
302 http://example.ch/ 5.9.75.43 server_redirect temporary https://example.ch/
301 https://example.ch/ 5.9.75.43 server_redirect permanent https://www.example.ch/
200 https://www.example.ch/ 5.9.75.43 normal none none
正如您可能从示例中猜到的那样,我有2个注册域名。一个是example.ch,另一个是前ä mple.ch,所有内容都应该重定向到https:// www。 example.ch只需一步。
如何在我的.htaccess中配置它? 我试着这样做
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.ch* [OR]
RewriteCond %{HTTP_HOST} !^www\.ex%C3%A4mple\.ch* [OR]
RewriteRule ^(.*)$ https://www.example.ch/$1 [L,R=301]
但我认为我使用[OR]错误和/或不包含https://exämple.ch的重写条件
感谢您的帮助
答案 0 :(得分:0)
我认为您可能会因为您自己注意到RewriteCond
而遇到问题。
在伪代码中,您说要运行RewriteRule
if:
请求不是https,或者不是www.example.ch,或者不是www.exämple.ch。
这意味着重定向不仅会在www.exämple.ch上触发,也会在www.example.ch上触发。
请尝试此设置:
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.ch*
RewriteRule ^(.*)$ https://www.example.ch/$1 [L,R=301]
在这里演示:http://htaccess.mwl.be?share=6d58df20-5e24-5c58-8ea8-f3bc1d57fda5