在单个页面上强制执行https,然后将其他请求重定向到http

时间:2013-03-19 03:51:25

标签: php html apache .htaccess mod-rewrite

你好基本上我有一个页面,我想要https,我希望它的孩子和兄弟姐妹只有http。

我有代码工作的一些东西,但是如果我点击从我的ssl页面到非ssl页面的链接https仍然停留。,我试图让它重定向回到http

这是我到目前为止所拥有的

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L,R=301]

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^prepaid/?$ https://www.domain.com/prepaid/ [R=301,L]

RewriteRule ^prepaid/h2o/?$  index.php?p=prepaid&s=h2o [L]
RewriteRule ^prepaid/?$      index.php?p=prepaid       [L]

主要目标是始终强制使用www以及斜杠 也想强制https只在https://www.domain.com/prepaid/,然后任何孩子或sibliligs我试图强制http。即使你在https页面上并且你点击了(这就是我所坚持的,它目前仍然保留在https中)

1 个答案:

答案 0 :(得分:0)

试试这个:

<Location /sample.php>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Location>

将sample.php重命名为您的文件名