我使用来自helicon的isapi reirte。
我有非www到www重写的代码:
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^(?!www\.)(.+)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? http(?%1s)://www.%2%3 [R=301]
适用于非www到www部分...... 我需要它,如果它是在http重定向到https
RewriteCond %HTTPS (?!on).*
RewriteCond Host: (.*)
RewriteRule (.*) https\://$1$2 [I,RP, L]
我需要在这方面做些什么改变才能起作用?
我得https://folder/index.asp 整个域名都消失了
我已尝试过其他相同功能,但效果不佳,这里是:
RewriteCond %{HTTP:Host} ^(?!www\.)?(.*)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule .? https://(?%1www.)%2 [R=301]
如果我尝试使用domain.com,我会得到https://www。 如果我尝试www.domain.com,我得到了https://www。
这意味着我解决了我的一半问题!但为什么网址的其余部分不存在?!
答案 0 :(得分:-1)
我的回答考虑了ISAPI_Rewirte第3版的答案。 您得到https://folder/index.asp,因为您的主机值在%1内,而不是$ 1。
我建议:
RewriteCond %{HTTPS} !on
RewriteCond Host: www\.(.*)
RewriteCond {REQUEST_URI} (.*)
RewriteRule .* https\://www.%1%2 [NC,R=301,L]