php - 如何使用 .htaccess 将所有页面重定向到 https,但有异常(exception)?

标签 php apache .htaccess redirect ssl

我已经使用 htaccess 强制所有页面使用...重新路由到 https

RewriteEngine on
RewriteBase /

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://ourdomain.com/$1 [R,L]

有什么方法可以为 ourdomain.com/videos && ourdomain.com/blog 撤销该规则,确保这些页面被迫放弃 https 并使用 http?

最佳答案

您已经完成了使用 RewriteCond 将重写限制为端口 80 上的请求的部分。

想为 /videos/blog 重写端口 80 上的请求,因此:

RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !^/videos
RewriteCond %{REQUEST_URI} !^/blog
RewriteRule ^(.*)$ https://ourdomain.com/$1 [R,L]

并且您想在端口(大概)443 上重写对这些 URL 的请求:

RewriteCond %{SERVER_PORT} 443
RewriteRule ^/((videos|blog)/.*) http://ourdomain.com/$1 [R,L]

关于php - 如何使用 .htaccess 将所有页面重定向到 https,但有异常(exception)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10475356/

相关文章:

php - 解析错误 : syntax error, 意外\'?>\',期望函数 (T_FUNCTION)

php - Laravel 5.4 升级——违反完整性约束——列不能为空

php - 将文件上传到Linux服务器根文件夹以外的文件夹?

apache - htaccess 重定向到共享 SSL

php - 在服务器子文件夹中移动 Laravel 5 应用程序

php - 如何确定 while 循环是否从 php 中的 db 返回任何内容?

node.js - websocket 服务器的 Apache 代理不工作

php - 指定到 'php_value error_log' 的相对路径

apache - 当 SSL 证书为非 www 时,在 https www 上将 www 重写为非 www 失败

php - 在同一 CodeIgniter 2.x 应用程序上使用多个数据库并出现 URI 路由问题