调用base_url()函数时的不同URL

时间:2013-04-25 08:17:27

标签: php javascript html codeigniter

我有一个包含以下内容的PHP文件:

<script type="text/javascript" src="<?php echo base_url();?>js/example1.js"></script>
<script type="text/javascript">var base_url = '<?php echo @base_url(); ?>';</script>
........
<input type="hidden" id="testvpn" value="<?php echo base_url(); ?>js/example.js"/>
........

当我尝试在本地打开页面时,一切正常:

<script type="text/javascript" src="http://example.com/js/example1.js"></script>
<script type="text/javascript">var base_url = 'http://example.com/';</script>
........
<input type="hidden" id="testvpn" value="http://example.com/js/example.js"/>
........

当我尝试通过web vpn打开页面时,我想看到:

<script type="text/javascript" src="https://mywebvpn.com/+CSCO+numbers++/js/example1.js"></script>
<script type="text/javascript">var base_url = 'https://mywebvpn.com/+CSCO+numbers++/';</script>
........
<input type="hidden" id="testvpn" value="https://mywebvpn.com/+CSCO+numbers++/js/example.js"/>
........

但我明白了:

<script type="text/javascript" src="https://mywebvpn.com/+CSCO+numbers++/js/example1.js"></script>
<script type="text/javascript">var base_url = 'http://example.com/';</script>
........
<input type="hidden" id="testvpn" value="http://example.com/js/example.js"/>
........

P.S。框架 - codeigniter。服务器端 - PHP,MYSQL,APACHE。
P.P.S.配置webvpn服务不是我的工作。这可能是webvpn的一个问题吗?

$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .=str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

2 个答案:

答案 0 :(得分:1)

BASE_URL()

返回配置文件中指定的网站基本网址。


检查是否用该数据覆盖配置。如果没有,那么它只是缓存,但如果这是一个奇迹,它会返回不同的值,你可以随时做:

<?php
$bUrl = base_url()
?>
<script type="text/javascript" src="<?php echo $bUrl?>js/example1.js"></script>
<script type="text/javascript">var base_url = '<?php echo $bUrl?>';</script>
........
<input type="hidden" id="testvpn" value="<?php echo $bUrl?>js/example.js"/>

答案 1 :(得分:0)

由于你想使用base_url()加载JS和CSS文件,我会告诉你如何使用它。

CSS:

 <link rel="stylesheet" href="<?=base_url('css/style.css')?>">

JS:

 <script src="<?=base_url('js/jquery.js')?>"></script>

请注意我使用的是short_tags,因此根据您的php.ini,确切的复制/粘贴可能无效。

我发现这个解决方案是最好的,因为你给文件提供了绝对路径,所以我从来没有一些服务器设置无法找到文件的问题。