我是.htaccess和重写规则的新手,我正在努力。基本上我正在一个有数千页的网站上工作,我需要所有的页面都是HTTP,除了收集客户数据收集和支付过程的4个页面。
我知道我需要的是:
RewriteCond %{HTTPS} on
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{REQUEST_URI} ^/(index\.php)?$ [NC]
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301, NC]
RewriteCond %{HTTPS} on
RewriteCond %{QUERY_STRING} ^view=(default|new(&.*)?)$ [NC]
RewriteCond %{REQUEST_URI} ^/?index\.php$ [NC]
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301, NC]
您可以提供的任何帮助都会受到很大的限制。
答案 0 :(得分:1)
要确保始终通过HTTPS提供这4个页面,请尝试以下规则:
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule ^(cart|Cart|summary|control)\.php$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
此规则将始终将这些网页重定向到HTTPS(如果不存在):example.com/cart.php
,example.com/Cart.php
,example.com/summary.php
,example.com/control.php
(所有网页都位于网站根目录中,如你可以看到)。如果他们有不同的网址,请相应地调整规则。