Apache HTACCESS使用HTTPS重定向添加WWW
目前我的htaccess代码是Apache HTACCESS使用HTTPS重定向添加WWW,apache,.htaccess,mod-rewrite,redirect,url-rewriting,Apache,.htaccess,Mod Rewrite,Redirect,Url Rewriting,目前我的htaccess代码是 #add www RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] #send all traffic to https RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 当输入以下URL时,此操作有效 1
#add www
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
#send all traffic to https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
当输入以下URL时,此操作有效
1. https://example.com -> https://www.example.com
2. http://example.com -> https://www.example.com
3. http://www.example.com -> https://www.example.com
4. https://example.com -> https://www.example.com
5. https://example.com/somepage -> https://www.example.com/somepage
6. http://www.example.com/somepage -> https://www.example.com/somepage
1.https://example.com -> https://www.example.com
2.http://example.com -> https://www.example.com
3.http://www.example.com -> https://www.example.com
4.https://example.com -> https://www.example.com
5.https://example.com/somepage -> https://www.example.com/somepage
6.http://www.example.com/somepage -> https://www.example.com/somepage
但当试图访问某个页面时https和www都不存在时,它就不起作用了,而是重定向到奇怪的url
7. http://example.com/somepage -> https://www.example.com/https://example.com/somepage
7.http://example.com/somepage -> https://www.example.com/https://example.com/somepage
用此代码替换当前代码
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
注意:可能您必须清除浏览器的缓存才能看到它在http://example.com/somepage
如果您键入(或将paste example.com复制到打开到其他https地址的选项卡),则该选项无效,以下是正确答案: