2016-04-19 46 views
0

我遇到的一個問題是,如果任何RewriteRule符合.htaccess,它就不會從HTTPSHTTP然後回301重定向到HTTPS阿帕奇HTTPS - > HTTP - > HTTPS 301重定向

舉例來說,如果我有一個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

你有另一個重寫HTTPS的地方,對吧?

刪除L標誌。 [R = 301,L]→[R = 301]。 L表示最後一個,它不會查看下面列出的規則。如果HTTPS重寫在此之後,應該這樣做。

另一種選擇是你可以指揮它直有:

RewriteRule ^/products/?$ https://{HTTP_HOST}/en/products/ [R=301,L]