【问题标题】:Redirect to HTTP from HTTPS on mobile broswer not working在移动浏览器上从 HTTPS 重定向到 HTTP 不起作用
【发布时间】:2017-08-26 18:12:27
【问题描述】:

所以我在我的网站上有这个页面,这是我想要的唯一不安全的页面。问题是在桌面浏览器上,当用户单击指向 HTTP 页面的链接时,我的 htaccess 文件会重定向用户

<li class="<?php if($pagename == 'music_search.php'){echo 'active active';}?>"><a href="music_search.php" target="_self" class="">Music Search</a></li>

这在桌面浏览器上运行良好。但是当我在移动浏览器上查看它时,我点击了链接,它会将我带到页面的 HTTPS 版本。我需要为这个页面设置桌面浏览器和移动浏览器的 HTTP。我已经清除了手机浏览器上的缓存并添加了元标记以防止缓存,但它仍然没有重定向到 HTTP

这是我的 htaccess 文件

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !/music_search.php [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

</IfModule>

任何帮助都会很好。我已经在这几个小时了。任何帮助深表感谢。

【问题讨论】:

  • 出于兴趣,为什么页面必须是HTTP?
  • 有一个 API 调用只使用 HTTP,所以我不能在 HTTPS 中使用 HTTP

标签: apache .htaccess http https


【解决方案1】:

不是 .htaccess 文件解决方案,但我使用 php 进行了快速破解。这是一个php解决方案

<?php
$file = $_SERVER["SCRIPT_NAME"];
$break = Explode('/', $file);
$page = $break[count($break) - 1];
$page = substr($page, 0 , -4);

if($page == 'music_search' && isset($_SERVER['HTTPS'])){
header('Location: http://www.example.com/music_search.php');

}
?>
<!DOCTYPE html>

我知道我必须对不需要 http 的其他文件执行此操作,但到时候我会再次修复它。

【讨论】:

    猜你喜欢
    • 2018-05-02
    • 2018-09-08
    • 2014-03-10
    • 2018-06-11
    • 2015-07-28
    • 2017-12-28
    • 2018-03-27
    • 2022-01-14
    • 2021-04-15
    相关资源
    最近更新 更多