Jar*_*red 6 .htaccess ssl https
我有一个电子商务网站,我想仅在位于https://mysite.com/buy的网站的电子商务部分启用https
由于我网页上的所有链接都是相对的,当有人访问http://mysite.com并点击"购买"时,他们会被带到http://mysite.com/buy
此外,如果他们访问https://mysite.com/buy并点击指向其他页面的链接,则会转到https://mysite.com.
我只想在那一节上使用https的原因是因为我有无法通过https发送的外部元素(即谷歌地图,Youtube,Twitter等).
有没有办法用htaccess我可以使/ buy目录强制https,但每隔一个页面强制http?
编辑:如果有人感兴趣,我能够使用PHP解决这个问题.我仍然更喜欢htaccess解决方案,但这现在可以使用:
if($_SERVER['HTTPS'] == "on") {
if(strpos($_SERVER['REQUEST_URI'],"buy") === false) {
Header("Location: http://$_SERVER['HTTP_HOST']."".$_SERVER['REQUEST_URI']");
}
}
Run Code Online (Sandbox Code Playgroud)
在你的.htaccess文件中试试这个:
Options +FollowSymLinks
RewriteEngine on
# redirect for http /buy page
RewriteCond %{SERVER_PORT} =80
RewriteRule ^buy/?$ https://mysite.com/buy [R=301,QSA,L,NE]
# redirect for https non /buy pages
RewriteCond %{SERVER_PORT} =443
RewriteCond %{REQUEST_URI} !^/buy [NC]
RewriteRule ^/?(.*)$ http://mysite.com/$1 [R=301,QSA,L,NE]
Run Code Online (Sandbox Code Playgroud)
R=301将重定向与https状态301
L将使最后一个规则
NE是没有转义查询字符串
QSA将附加您的现有查询参数
NC是为了忽略大小写比较
$1 是你的REQUEST_URI
| 归档时间: |
|
| 查看次数: |
15951 次 |
| 最近记录: |