php - 给定特定 url 参数时强制使用非 SSL

标签 php html .htaccess ssl

好的,我发现我可以通过更改 .htaccess 文件中的某些内容来强制用户使用 SSL:

RewriteEngine On
RewriteBase /

# Force SSL
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Deny Access to all .htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>

我不太擅长编写 .htaccess 文件,所以我很可能是从互联网上复制粘贴的。

我的问题是是否有可能始终强制使用 ssl 但有一个异常(exception)(当有人访问带有特定 url 参数的 http 站点时)。

示例 1:

http://example.com/test?name=John

被重定向到

https://example.com/test?name=John

示例 2:

http://example.com/test?name=John&nossl=1

不会被重定向到

https://example.com/test?name=John&nossl=1

是否可以在 htaccess 中编写它,或者我是否需要在每个执行此操作的页面中包含一个 php 文件?

最佳答案

这个问题是DUPLICATE

顺便说一句

将其放在 # Force SSL 条件之前。

RewriteCond %{QUERY_STRING} (^|&)nossl=(1)(&|$)
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

关于php - 给定特定 url 参数时强制使用非 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39148611/

相关文章:

php - 读取由 xpath 填充的多维数组的值

javascript - 将 Pig Latin JavaScript 函数转换为 GUI 时遇到问题

.htaccess - 从站点中的所有 URL 中删除尾部斜杠

php - 为什么这位受欢迎的作者将所有图像都转换为 .jpg?

php - Wordpress 如何告诉我的 css 版本

javascript - Jquery 动态表。为每个单元格添加一个 div 以使其可拖动

php - 拒绝访问 .htaccess 中的 .ini 文件是否安全?

apache - 如何将错误 403 重定向到 .htaccess 中的 root

javascript - Simogeo FileManager 查看/上传

html - 是否可以将 Bootstrap 列 "snap"放置到位?