2016-08-23 92 views
0

我想重寫我的網址,現在使用.htaccess基本上我想強制所有連接到https://並且還刪除任何尾隨的.html擴展名。.htaccess強制SSL和刪除文件名擴展

這裏是我到目前爲止,

RewriteEngine On 

RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L] 

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


RewriteRule ^([^\.]+)$ $1.html [NC,L] 

這迫使用戶使用HTTPS,但它不會從URL我要去哪裏錯了刪除的.html?

回答

0

您需要額外的規則才能從URL中去除.html。此外,您可以在規則和wwwhttps規則轉換成一個結合避免mumtiple 301重定向

RewriteEngine On 

RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} ^www\. [NC,OR] 
RewriteCond %{THE_REQUEST} \.html[\s?] [NC] 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule ^(.*?)(?:\.html)?$ https://%1/$1 [R=301,L,NC,NE] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.+?)/?$ $1.html [L] 
相關問題