重定向www。到非www并使用.htaccess将所有http重定向到https

助力车

数百万次的问题,但在阅读了许多有关此处的答案后,我仍然无法弄清楚。我需要重定向所有请求,如下所示:

  1. http://domain.tld > https://domain.tld
  2. http://www.domain.tld > https://domain.tld
  3. https://www.domain.tld > https://domain.tld
  4. http://sub.domain.tld > https://sub.domain.tld(将.htaccess放在子域文件夹中时)

到目前为止,我使用的是html5boilerplate中的代码,将www解析为非www

<IfModule mod_rewrite.c>
  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^(.*)$ http://%1/ [R=301,L]
</IfModule>

他们也有一个用于http到https重定向的代码,但是在添加了这段代码(在www重定向之上)之后,页面正在加载,并且在超时后它显示错误/重定向过多

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>

我也试着像例子这样SO答案,但仍然网站无法正常工作。目前唯一的解决方案是使用第一段代码并替换为httphttps但这并不能解决最重要的重定向(1)

当前完整.htaccess内容:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)\/$ /$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]

    #RewriteCond %{HTTPS} off [OR] #by uncommenting this, site stops working
    RewriteCond %{HTTP_HOST} ^www
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
    RewriteRule ^ https://%1%{REQUEST_URI} [R,L]
</IfModule>
贾斯汀·欧曼(Justin Iurman)

有时,根据某些服务器配置,似乎HTTPS变量始终设置为off这将解释循环,并且我已经在SO上看到过类似的情况。

一个简单的解决方法是进行测试SERVER_PORT(如果您使用默认的80和443),或者也可以进行测试HTTP:X-Forwarded-Proto

示例(1)测试是否不是 https

RewriteCond %{HTTP:X-Forwarded-Proto} !https

实施例(2),以测试它是否 https

RewriteCond %{SERVER_PORT} !403

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重定向www。到非www并使用.htaccess将所有http重定向到https

来自分类Dev

将所有非www,www,http://请求重定向到https:// www。使用.htaccess文件

来自分类Dev

使用.htaccess将所有网站链接www重定向到非www并将http重定向到https

来自分类Dev

使用.htaccess将http和https的所有非www都重定向到www

来自分类Dev

使用htaccess将www重定向到非www

来自分类Dev

如何使用htaccess将非www重定向到www?

来自分类Dev

使用htaccess文件将所有流量重定向到index.php,将非www重定向到www

来自分类Dev

.htaccess http www 或非 www 重定向到 https

来自分类Dev

htaccess将301 https www重定向到非www

来自分类Dev

.htaccess-将所有重定向到非www

来自分类Dev

htaccess从www重定向到非www

来自分类Dev

htaccess 从 www 重定向到非 www

来自分类Dev

在.htaccess中将http重定向到https并将www重定向到非www

来自分类Dev

如何使用.htaccess将HTTPS非www重定向到HTTPS www?

来自分类Dev

使用 Javascript 将 www 重定向到非 www url

来自分类Dev

将非www和非http重定向到https

来自分类Dev

.htaccess将所有请求重定向到非www https域?

来自分类Dev

.htaccess将所有内容重定向到https非www和404进行索引

来自分类Dev

.htaccess将所有内容重定向到https非www和404进行索引

来自分类Dev

.htaccess将所有请求重定向到非www https域?

来自分类Dev

如何使用htaccess将www和非www重定向到特定域的https

来自分类Dev

如何使用htaccess将www和非www重定向到特定域的https

来自分类Dev

htaccess强制使用https并将非www重定向到www(如果没有子域)

来自分类Dev

htaccess将域名重定向到https,将子域名重定向到http,将www重定向到非www

来自分类Dev

Nginx-(http / https)非www到www重定向

来自分类Dev

.htaccess将非WWW重定向到WWW

来自分类Dev

将非www重定向到htaccess中的www

来自分类Dev

AWS Application Load Balancer将所有www和非http重定向到https://

来自分类Dev

nginx将非www重定向到www和https

Related 相关文章

  1. 1

    重定向www。到非www并使用.htaccess将所有http重定向到https

  2. 2

    将所有非www,www,http://请求重定向到https:// www。使用.htaccess文件

  3. 3

    使用.htaccess将所有网站链接www重定向到非www并将http重定向到https

  4. 4

    使用.htaccess将http和https的所有非www都重定向到www

  5. 5

    使用htaccess将www重定向到非www

  6. 6

    如何使用htaccess将非www重定向到www?

  7. 7

    使用htaccess文件将所有流量重定向到index.php,将非www重定向到www

  8. 8

    .htaccess http www 或非 www 重定向到 https

  9. 9

    htaccess将301 https www重定向到非www

  10. 10

    .htaccess-将所有重定向到非www

  11. 11

    htaccess从www重定向到非www

  12. 12

    htaccess 从 www 重定向到非 www

  13. 13

    在.htaccess中将http重定向到https并将www重定向到非www

  14. 14

    如何使用.htaccess将HTTPS非www重定向到HTTPS www?

  15. 15

    使用 Javascript 将 www 重定向到非 www url

  16. 16

    将非www和非http重定向到https

  17. 17

    .htaccess将所有请求重定向到非www https域?

  18. 18

    .htaccess将所有内容重定向到https非www和404进行索引

  19. 19

    .htaccess将所有内容重定向到https非www和404进行索引

  20. 20

    .htaccess将所有请求重定向到非www https域?

  21. 21

    如何使用htaccess将www和非www重定向到特定域的https

  22. 22

    如何使用htaccess将www和非www重定向到特定域的https

  23. 23

    htaccess强制使用https并将非www重定向到www(如果没有子域)

  24. 24

    htaccess将域名重定向到https,将子域名重定向到http,将www重定向到非www

  25. 25

    Nginx-(http / https)非www到www重定向

  26. 26

    .htaccess将非WWW重定向到WWW

  27. 27

    将非www重定向到htaccess中的www

  28. 28

    AWS Application Load Balancer将所有www和非http重定向到https://

  29. 29

    nginx将非www重定向到www和https

热门标签

归档