我想將整個網站(包括所有子網域)重定向到https。將整個網站重定向到https
這項工作?
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
我想將整個網站(包括所有子網域)重定向到https。將整個網站重定向到https
這項工作?
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
雖然您的代碼可能正常工作,但我會建議使用%{HTTP_HOST}
而不是%{SERVER_NAME}
。請理解2個變量之間的差異。 %{SERVER_NAME}
是在您的Apache配置中配置的服務器的名稱,但稍後將在HTTP請求中實時接收域名。因此,而不是你的代碼使用本:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
RewriteCond %{HTTPS} Off
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
爲了排除上述規則對特定子域使用這樣的代碼:
RewriteCond %{HTTP_HOST} !^sub\.domain\.com$ [NC]
RewriteCond %{HTTPS} Off
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
是的,這將工作。
重要的是要確保規則是之前您可能有任何路由規則,沒有其他規則重定向到http://
。
謝謝!如果我想重定向整個網站,除了一個子域名,我該怎麼辦? –
你從你自己的測試嗎? – Usman