0

如何判断php中以http或https开头的页面url?
问题是当使用https时,页面的css会丢失css
,那么在php中有什么方法可以判断?

if(...){
    echo 'https:';
}else{
    echo 'http:';
}
4

5 回答 5

3

要从同一协议获取 css 和 javascript,您可以使用 //

<script src='//example.com/path/to/jsfile.js'></script>
<link href='//example.com/path/to/cssfile.css' />

如果你真的想用 php 解决它,请检查 php 中的 $_SERVER 变量, http: //php.net/manual/en/reserved.variables.server.php

$_SERVER['HTTPS']

应该是你要找的。

于 2013-03-30T09:27:14.393 回答
2

您可以对 css 文件等资产使用无协议 URL:

<link type="stylesheet" href="//site.com/style.css">

在php中,您可以通过检查来确定$_SERVER['HTTPS']

于 2013-03-30T09:26:53.873 回答
1

如果请求是使用 HTTPS 发送的,您将有一个额外的参数。$_SERVER 教程

if( isset($_SERVER['HTTPS'] ) ) {
于 2013-03-30T09:25:54.433 回答
1
$url = "https://www.test.com";
if ( strpos($url, "https") !== FALSE ) {
  echo "https:";
}    
else {
  echo "http:";
}
于 2013-03-30T09:26:53.330 回答
0

要确定页面是否安全,请执行以下操作

if( isset($_SERVER['HTTPS'] ) ) {

but you could also in your html do the following rather than map the css to page to the css in full

~/css/stylesheet.css

于 2013-03-30T09:29:15.733 回答