使用 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.phpRewriteEngine On RewriteCond %SERVER_PORT 80 RewriteRule ^(.*)$ https://www.my-site.com/$1 [R,L]
我更新了答案以说明您的其他规则。你现在可以同时使用这两个规则,它应该对你有用。以上是关于使用 htaccess 在 home.php 上禁用 SSL 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
.htaccess 不重定向到 404.php 而是显示页面名称
如何使用 apache 403 错误作为带有 htaccess 的路由技术
Wordpress 不使用 home.php 而是使用 index.php 作为帖子页面。