将不完整的网址重定向到https://

时间:2017-01-24 20:10:45

标签: .htaccess

我需要编辑我的.htaccess,以便发生以下情况:

theeatalianjob.com -> https://www.theeatalianjob.com
www.theeatalianjob.com -> https://www.theeatalianjob.com
http://www.theeatalianjob.com -> https://www.theeatalianjob.com

以下内容:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

只在HTTP_HOST前添加https://如何编写添加www的if语句。如果失踪?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您的回答将做两件事:

  1. 如果缺少
  2. ,请添加www
  3. http重定向到https
  4. 因此,如果网址为http://domain.com,则会有两个重定向,这对SEO和用户体验也不利。

    您可以使用单个规则执行这两种重定向:

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

答案 1 :(得分:0)

我想我已经找到了解决自己问题的方法,但可以随意提出更优雅的问题......

RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]