将http重定向到https,将www重定向到非www,并在一次重定向中删除最后一个斜杠

时间:2018-08-22 13:38:53

标签: .htaccess redirect https seo

是否可以将http重定向到https,将www重定向到非www并在htaccess重定向中删除最后一个斜杠,并且它对seo友好?

我有这个:

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

而且我不知道如何添加到此重定向中以删除最后一个斜杠。

1 个答案:

答案 0 :(得分:0)

您可以将此代码用于一次重定向,以处理所有3种情况:

RewriteEngine On

## Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^ %1 [L,E=DELSLASH:1]

# perform redirect for 1. www removal, 2. trailing / removal and 3. http->https
RewriteCond %{ENV:REDIRECT_DELSLASH} =1 [OR]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]