base_url()没有被翻译

时间:2011-06-29 21:23:13

标签: codeigniter

我继承了一个使用Code Igniter构建的应用程序。我已经设置了环境并在新计算机上加载了应用程序,而我对base_url()的调用无法解决问题。

以下是视图中的代码:

<a href="<?= base_url();?>index.php/study/start">Start Study Analysis &raquo; </a>

呈现页面时,这是创建的URL:

  

<a href="<?= base_url();?>index.php/study/start">Start Study Analysis &raquo;</a>

似乎没有进行函数调用,并且代码以纯文本形式插入。我查看了config.php文件,并在那里设置了base_url。帮助程序正在autoload.php文件中加载,我甚至试图在视图中加载帮助程序。

有没有人知道为什么会这样?

1 个答案:

答案 0 :(得分:0)

  

以下是视图中的代码:

     

a href="< ?= base_url();?>index.php/study/start">Start Study Analysis &raquo; /a>

这可能是你帖子中的格式错误,或者你只是在那里有一个非常错误的链接。

我要猜测你的<?=之间确实有一个空格,这确实会导致代码不被解析为php,而是被破解为文本/ HTML

%20是一个网址编码的空格字符,因此您可以在网址中看到这一点。

确保PHP开始标记中没有空格:

  • <?php echo base_url(); ?>而非< ?php echo base_url(); ?>
  • <?= base_url(); ?>而非< ?= base_url(); ?>
  

那里没有空间。我需要添加它[用于格式化帖子]

我能想到的另一件事是没有启用短标签,但我承认如果是这种情况我不知道这是不是你的结果。尝试使用<?php echo代替<?=,或启用rewrite_short_tags中的config.php选项。这肯定不是base_url()或类似的问题,你的php标签被解析为纯文本,所以它们里面的内容根本不重要。