使用 htaccess 在 home.php 上禁用 SSL 不起作用?

Posted

技术标签:

【中文标题】使用 htaccess 在 home.php 上禁用 SSL 不起作用?【英文标题】:Disabling SSL on home.php using htaccess is not working? 【发布时间】:2015-12-20 00:10:06 【问题描述】:

下面是我用来在 home.php 页面上禁用 SSL 的 htaccess 代码,但它不起作用。`

RewriteEngine On
RewriteCond %HTTPS off
RewriteRule ^home.php(.*) http://%HTTP_HOST%REQUEST_URI [R=301,L]

【问题讨论】:

but it is not working 这是什么意思?什么不工作?它在做什么或不做什么?但是,我看到的是,如果不使用 https,您将重定向到 https。那么..您到底想要完成什么? 如果https 不起作用,为什么要重定向到https(第 3 行)? @ShawnMehan 这是一个错字,我更新了上面的代码,我的服务器是通过 SSL 和 home.php 我想禁用 SSL。 @PanamaJack 这意味着我在我的网站中使用 SSL 并且仅用于 home.php 我想将用户重定向到 http:// 即没有 SSL,所以我尝试使用上面的代码,它没有转关闭 home.php 的 SSL。 【参考方案1】:

它不起作用,因为您的代码是向后的。如果您想为home.php 关闭 OFF https,您需要检查 https 是否 on 未关闭。

RewriteEngine On
RewriteCond %HTTPS ^on
RewriteRule ^home\.php$ http://%HTTP_HOST%REQUEST_URI [R=301,L]

根据您的评论,您需要排除 home.php。

RewriteEngine On
RewriteCond %HTTPS off
RewriteCond %REQUEST_URI !^/home\.php$ [NC] 
RewriteRule ^(.*)$ https://www.my-site.com/$1 [R=301,L]

【讨论】:

实际上,我正在使用 htaccess 将所有用户重定向到 https://,因此使用相同的代码块实现此代码会导致问题。下面是我将所有用户重定向到 https:// 的代码,那么我怎样才能只将他们重定向到 http:// 的 home.php RewriteEngine On RewriteCond %SERVER_PORT 80 RewriteRule ^(.*)$ https://www.my-site.com/$1 [R,L] 我更新了答案以说明您的其他规则。你现在可以同时使用这两个规则,它应该对你有用。

以上是关于使用 htaccess 在 home.php 上禁用 SSL 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 不重定向到 404.php 而是显示页面名称

我想用 htaccess 使我的长参考链接动态化

如何使用 apache 403 错误作为带有 h​​taccess 的路由技术

Wordpress 不使用 home.php 而是使用 index.php 作为帖子页面。

Wordpress没有使用home.php而是使用index.php作为帖子页面。

在 codeigniter 中未访问 home.php