我遇到一个问题,如果RewriteRule
中遇到任何.htaccess
,则301
会从 https 重定向到 http 然后返回 https
例如,如果我的301
重定向规则如下
RewriteRule ^/products/?$ /en/products/ [R=301,L]
然后它做的是
+------------------------------------+
| https://example.com/products/ |
+----------------+-------------------+
|
v
+----------------+-------------------+
| http://example.com/en/products/ |
+----------------+-------------------+
|
v
+----------------+-------------------+
| https://example.com/en/products/ |
+------------------------------------+
任何想法,可能会导致什么?
答案 0 :(得分:0)
你在某处有另一个重写到HTTPS,对吗?
删除L标志。 [R = 301,L] - > [R = 301]。 L意味着最后,它不会查看下面列出的规则。如果HTTPS重写在此之后,那应该这样做。
另一种选择是你可以直接指向它:
RewriteRule ^/products/?$ https://{HTTP_HOST}/en/products/ [R=301,L]