2017-08-26 104 views
0

所以我在我的网站上有这个页面,其中唯一不安全的页面就是我想要的。问题是桌面浏览器,当用户点击链接到HTTP页面重定向到移动浏览器HTTPS上的HTTP不起作用

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

这正常的桌面浏览器我htaccess文件重定向用户。但是当我在移动浏览器上查看时,我点击链接并将其带到页面的HTTPS版本。我需要为此页面提供适用于桌面浏览器和移动浏览器的HTTP。我已经清除手机上的浏览器缓存,并添加meta标签,以防止缓存,但它仍然没有重定向到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> 

任何帮助将是很好。我现在已经呆了好几个小时了。任何帮助深表感谢。

+0

出于兴趣,为什么页面必须是HTTP? – Jamie

+0

有一个API调用只使用HTTP,所以我不能在HTTPS中使用HTTP – Carlitos

回答

0

不是.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,但到时候我会再解决它的其他文件做到这一点。