2010-06-18 172 views
1

我开发了一个简单的网站,它从Twitter公共时间线中获取推文,将它们缓存60秒,等等。我最近将主机从Hostgator移到Mediatemple,我的网站之前在Hostgator上运行良好。Codeigniter:Base_url似乎没有工作

我的应用程序不使用数据库连接,也不使用任何形式的平面文件数据库。推文缓存在存储在根目录中的XML文件中,而不是大部分都很重要。

的网址助手被列为可以看到下面(这是我的助手从autoload.php线):$autoload['helper'] = array('url');

我也删除从URL中使用的.htaccess的指令,一旦我的index.php文件这再次先前在HostGator的工作(见下文我的.htaccess代码):

RewriteEngine On 
RewriteRule ^(application) - [F,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php/$0 [PT,L] 

在它是在视图文件夹应用程序内我home.php查看文件,我使用的功能BASE_URL(),其以前在我的视图文件中使用Hostgator并在我的头文件中添加基础href值:<base href="<?php echo base_url(); ?>" />

这里是我的BASE_URL值看起来像在config.php文件:

$config['base_url'] = "http://threetune.com/"; 

虽然这似乎是发生的是,BASE_URL是不是在所有可见。它似乎没有回应base_url的价值,因为它出于某种原因似乎是空的。

是什么让事情变得更糟是我在另一个视图文件中有一个名为'fetch.php'的链接,并且出于某种原因它似乎剥离了该值(XSS过滤关闭):<a href="threetune/show"><img src="assets/images/cookie.jpg" /></a> threetune/show部分是不被看到,我只看到这样一个空href值<a href=""><img src="assets/images/cookie.jpg" /></a>

任何人都可能看到任何错误,我可能已经做了某种Mediatemple服务器限制或PHP.ini标志需要设置?谢谢,我希望我足够描述。

+0

你在电网吗? VPS?这可能是一个与PHP安全模式的问题... – stormdrain 2010-06-18 15:23:46

+0

我在网格Stormdrain,我会研究PHP安全模式的事情,媒体寺可能是好的,但他们使他们禁用开箱即用的所有东西,他们让你重新 - 启用令人讨厌。 – 2010-06-19 04:38:25

+0

添加了答案;见下文。 – stormdrain 2010-06-23 17:02:02

回答

3

我也在网格上。在重新阅读你的问题并做了一些小测试(它适用于我)后,我认为发生了什么是你忘记加载url帮手。

如果您希望可以通过base_url()在应用程序中使用站点基础URL,则需要首先加载url帮助程序。通过config/autoload.php或者在你的控制器中手动加载。

否则,你可以使用配置/ constants.php定义常量变量:

define('BASE_URL', 'http://site.com'); 
define('BASE_PATH', '/path/to/CI/folder'); 
+0

感谢Stormdrain。我是自动加载它,但由于某种原因,它似乎没有工作。奇怪的是,从我的控制器中调用URL助手仍然有效。 感谢您的帮助。 – 2010-06-28 04:04:29