Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 将不完整的url重定向到https://_.htaccess - Fatal编程技术网

.htaccess 将不完整的url重定向到https://

.htaccess 将不完整的url重定向到https://,.htaccess,.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 %{HTT

我需要编辑我的.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_主机前面添加https://如何编写添加www.if missing的if语句


谢谢您的帮助。

我想我已经找到了解决我自己问题的方法,但请随意推荐更优雅的方法

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]

你的答案将有两个作用:

  • 如果缺少,请添加
    www
  • http
    重定向到
    https
  • 所以如果URL是
    http://domain.com
    然后会有两个重定向,这对搜索引擎优化和用户体验都不好

    您可以使用单个规则执行两个重定向,如下所示:

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

    非常感谢,穆奇已经接受了阿努巴瓦的回答,认为这个回答比我的更优雅,但我需要补充一些考虑。当我使用Safary打开我的站点时,我遇到以下错误消息:“无法打开页面,重定向太多”。我通过使用CPanel在服务器端设置重定向来修复这个问题若问题只出现在一个浏览器上,那个么在测试之前你们必须清除你们的浏览器缓存。我已经接受了anubhava的回答,认为它比我的回答更优雅,但我需要补充一些注意事项。当我使用Safary打开我的站点时,我遇到以下错误消息:“无法打开页面,重定向太多”。我通过使用CPanel在服务器端设置重定向来修复这个问题。