2016-07-08 63 views
2

我在htaccess的htaccess的不是重定向到https

Options +FollowSymLinks -MultiViews 
RewriteEngine on 
RewriteBase /films/ 

RewriteCond %{REQUEST_METHOD} =POST 
RewriteRule^- [L] 

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/films/$1 [R=301,L] 

下面的代碼我希望它自動重定向的URL爲https 但它不重定向。我試圖改變

RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/films/$1 [R=301,L] 

RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/films/$1 [R=301,L] 

回答

2

重定向到https,您可以使用/films/.htaccess下列重定向:

Options +FollowSymLinks -MultiViews 
RewriteEngine on 
RewriteBase /films/ 
RewriteCond %{HTTPS} !=on [OR] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule ^(.*)$ https://www.example.com/films/$1 [R=301,L,NE] 

在測試此重定向之前清除瀏覽器緩存。

+0

謝謝,其工作@starkeen –

+0

使用https後,我的CSS不起作用。他們沒有任何方式,CSS和JS文件也自動重定向到https @starkeen –

+0

這會將所有內容都重定向到/ films文件夾中的https。這些文件位於哪裏? – starkeen

3

迫使你可以使用HTTPs

RewriteCond %{HTTPS} !=on 
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L] 

所以離開你https://上的一切。包括{REQUEST_URI}比指定目錄要好。因爲它也適用於所有目錄。

正如筆者近日瞭解到,這是更好地結合你被迫wwwhttps,請嘗試使用此:

RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule^https://www.%{SERVER_NAME}%{REQUEST_URI} [R=301,L,NE] 
+0

我必須使用此代碼,因爲它是或改變任何東西? @thickguru –

+0

請按原樣使用它。 – Lag

+0

放置代碼的位置。我是否需要從我的htaccess中刪除任何代碼。 @thickguru –