php - 重定向到非 https 页面

标签 php .htaccess ssl redirect https

我遇到过许多与我需要的解决方案类似的解决方案,但我尝试更改它们但没有成功,似乎有时会忽略它们,而其他时候则不会。

本质上,我有一个网站,我只需要在某些页面或所有 php 页面上使用 https,如果这样更容易但不是友好的 url,例如/女装/裙子/

到目前为止,我在 if 语句的底部添加了:

RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_FILENAME}!\.php
RewriteRule %{HTTPS} =off

此外,如果它有所不同,顶部有一些代码可以生成友好的 url:

Options +FollowSymLinks -MultiViews -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /psyche/
RewriteCond %{ENV:REDIRECT_STATUS} !^401$
RewriteCond %{REQUEST_URI} !^/psyche/(payment|admin|provider|partner)/
#RewriteCond %{REQUEST_FILENAME} !\.(gif|jpe?g|png|js|css|swf|php|ico)$
RewriteRule loader_(.+).css loader.php?type=css&md5_suffix=$1 [L]
RewriteRule loader_(.+).js loader.php?type=js&md5_suffix=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ dispatcher.php [L]

</IfModule>

我真的很感谢任何人的帮助,因为当你在 HTTPS 中时,友好的 url 不起作用,我从来没有意识到,所以我从我的客户那里得到压力,我不明白为什么它不起作用。即使不是解决方案,也许有人可以为我指明正确的方向或告诉我哪里出错了。

非常感谢,

汤姆

最佳答案

HTTPS 和 HTTP 站点由 Apache 中单独的 .conf 文件配置。该站点的 SSL 版本是否可能禁用了 .htaccess 文件?重写很可能是正确的,但由于 Apache 禁用了 .htaccess 覆盖,站点的 SSL 版本永远看不到它们。

关于php - 重定向到非 https 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4032877/

相关文章:

php - 如何显示2个不同日期范围的数据

javascript - PHP- "template"

.htaccess - 使用 htaccess 重写部分 URL

ssl - 通配符 SSL 证书不适用于子域的某些子目录

python - 从套接字中获取服务器名称

php - MySQL - 如何选择值在数组中的行?

php - 提交表单 PHP 修改为 JQuery AJAX

javascript - 请求头字段 Cache-Control 不允许

.htaccess - 允许使用 htaccess 文件使用多个 IP 地址进行管理员登录

java - SSL 握手失败 Android 5.1