使用 .htaccess 控制某些页面上的 HTTPS
Posted
技术标签:
【中文标题】使用 .htaccess 控制某些页面上的 HTTPS【英文标题】:Using .htaccess to control HTTPS on certain pages 【发布时间】:2010-11-15 20:26:08 【问题描述】:我有一个需要(显然)HTTPS 才能结帐的网站。当前实施的修复涉及使整个站点在 SSL 模式下运行,但这会导致问题。
我该如何改变这个...
RewriteCond %HTTPS off
RewriteRule (.*) https://%HTTP_HOST%REQUEST_URI [L]
仅将某个 URL(比如 basket.php)设置为 HTTPS?
【问题讨论】:
【参考方案1】:更短的版本:
RewriteCond %HTTPS off
RewriteRule ^basket\.php$ https://%HTTP_HOST%REQUEST_URI [L]
【讨论】:
如何修改它以接受多个页面?说购物篮和结帐等等? 将模式^basket\.php$
更改为您想要的任何内容。如果您需要正则表达式方面的帮助,请查看Apache’s mod_rewrite Introduction。
“在本文档中,我们尝试提供足够多的正则表达式词汇表来帮助您入门,但不会让人不知所措,希望 RewriteRules 将成为科学公式,而不是魔法咒语。” - 嘿,那是我的发球台 - 不再是了,谢谢。【参考方案2】:
我相信这会奏效:
RewriteCond %HTTPS off
RewriteCond %REQUEST_URI /basket.php
RewriteRule (.*) https://%HTTP_HOST%REQUEST_URI [L]
【讨论】:
以上是关于使用 .htaccess 控制某些页面上的 HTTPS的主要内容,如果未能解决你的问题,请参考以下文章
htaccess 修改在某些页面上起作用,但在其他页面上不起作用?
使用 .htaccess 文件后,从我网站上的一个页面重定向到另一个页面会导致 404 错误