将所有http重定向到https,将所有www重定向到非www,然后从所有url中删除.html

时间:2019-02-14 12:09:52

标签: .htaccess http url redirect https

  • .html应该从每个URL的末尾删除
  • 所有http链接都应转到https
  • 所有www链接都应转到非www

如何通过.htaccess实现此目标,这足以使Google正确抓取我的网站并且不会产生重复的链接吗?

1 个答案:

答案 0 :(得分:0)

RewriteEngine on

# remove .html from all files
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

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

这似乎已经完成了工作。我在网上发现几个答案失败-http://www.example.com通常被错误地定向到https://www.example.com