Htaccess http到https,php异常

Htaccess http到https,php异常,php,.htaccess,ssl,https,Php,.htaccess,Ssl,Https,我最近将我的网站改为https,并使用.htaccess重新写入,通过https发送所有内容,使用此 RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 然而,有一个页面(contact us.php)在一些浏览器(IE和Chrome)上抛出了https错误,我试图修复这些错误,但它们很难修复。对我来说,最简单的解决方法是将有问题的页面(contact us.

我最近将我的网站改为https,并使用.htaccess重新写入,通过https发送所有内容,使用此

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
然而,有一个页面(contact us.php)在一些浏览器(IE和Chrome)上抛出了https错误,我试图修复这些错误,但它们很难修复。对我来说,最简单的解决方法是将有问题的页面(contact us.php)作为全局http-to-https规则的例外。但是怎么做

提前感谢您的回复。

您可以使用:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/contact-us\.php [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]

RewriteCond %{HTTPS} on
RewriteRule ^contact-us\.php http://%{HTTP_HOST}/contact-us.php [NC,L,R=302]

这个问题似乎离题了,因为它是关于htaccess规则的,因此更适合。感谢您的回复。我确实试过这个方法,但似乎不起作用。如果我键入http作为url,它将转到不安全页面,但是如果我使用相对站点链接导航到contact-us.php,它将指向页面的https版本。我已尝试重新加载并清除浏览器缓存:/您不要求将页面重定向到http。。。我现在在我的代码更新中添加了这一点:我已经“解决”了https问题,将该站点的contact-us.php链接之一更改为绝对链接,因此它现在指向http://..contact-us.php 而不是contact-us.php。http被粘住了,但是该页面的https到http的重新写入没有被粘住。莫名其妙。你可以将
R=302
更改为
R=301
Ah Croises我没有意识到我必须对页面进行重定向,我想只有例外规则就足够了。那两条额外的线做得很好。谢谢!:)