我有启用SSL的网站。
问题:我希望http仅针对结帐页面重定向到https。
我正在使用以下代码进行重定向:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
但它将所有http重定向到htaccess。
我想要的:我想在htaceess上加上一些条件,这样只有结帐页面会重定向到https,否则不会重定向。
答案 0 :(得分:0)
您必须抓住端口80上的结帐页面的请求
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} your-checkout-uri-pattern
RewriteRule ^(.*)$ https://your-sslized-site/$1 [R,L]
答案 1 :(得分:0)
下面的代码解决了我的问题(当我在api中使用它时)。它也可能解决你的问题。试一试。
你走了,
# For redirecting HTTP to HTTPS, comments are line by line
# below line checks for https flag
RewriteCond %{HTTPS} off
# below line excludes the mentioned URIs from redirection
RewriteCond %{REQUEST_URI} !^/(myFirstUri|mySecondUri|myThirdUri)
# below line redirects all other URIs except the ones that are mentioned above
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
所以,这里发生的事情是我的所有请求都会被重定向到https,除了以下的
abc.123 / myFirstUri将成为http://abc.123/myFirstUri
abc.123 / myFirstUri / qw / etc也将如上所述重新定向
其他请求将被重定向到https,例如
abc.123 / test变为https://abc.123/test