0

还有其他帖子讨论 HTTP 到 HTTPS 重定向,但没有一个回答这个问题。

我有一个 XCART 网站,并希望将所有流量定向到 htaccess 文件中的 https。

重写部分目前看起来像这样,我相信这是启用 clean uls 的 xcart 方法。注意我已经注释掉了 HTTPS 重定向代码。

<IfModule mod_rewrite.c>
RewriteEngine On

# RewriteCond %{HTTPS} =off [NC]
# RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteBase /

RewriteCond %{REQUEST_URI} !^/(payment|admin|provider|partner)/
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpe?g|png|js|css|swf|php|ico)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ dispatcher.php [L]

</IfModule>

如果我取消注释 HTTPS 重定向条件和规则,我会在尝试加载任何 HTTP url 时得到一个重定向循环。我尝试了很多变体 - 将重定向放在第二条规则之后,更改语法。没有任何效果。也许不可能将 XCART 的干净 url 功能(重定向到 dispatcher.php)与通用的 HTTP 到 HTTPS 重定向结合起来。

同时,我包含了以下 HSTS 标头,它强制临时使用 HTTPS,但不是重定向。我更喜欢重定向...

Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
4

0 回答 0