2011-12-15 47 views
0

我希望index.php包括在内,index.php不包括在我的URI中,以便在我的网站上顺利运行。我需要它,因为uploadify不起作用,它给我一个HTTP错误。Codeigniter:如果我想同时使用index.php和没有index.php的URL,该怎么办?

它的工作原理,如果我改变了这个

$config['uri_protocol'] = 'AUTO';

这个

$config['uri_protocol'] = 'QUERY_STRING';

,但随后整个系统工作不正常。

+0

只要确保通过教程来让网站在没有`index.php`的情况下工作。 然后,即使你使用index.php,它也可以工作。 [这是一个使用.htaccess删除index.php的方法](http://codeigniter.com/user_guide/general/urls.html) – Indranil 2011-12-15 05:53:02

回答

0

对于您的资产,首先,在config.php上将$config['base_url']设置为您的网站网址。

然后连接到您不想要的index.php资产时,只需使用功能base_url

<?php echo base_url("assets/uploadify/uploadify.swf"); ?> 
// Generates http://URL/assets/uploadify/uploadify.swf 
0

按照上面Indranil评论的链接从你的URI中删除的index.php修改您的.htaccess文件。

这里又是地址供参考:

http://codeigniter.com/user_guide/general/urls.html 

同时也请记住,这可以从主机有所不同,它需要被格式化的方式举办,所以跟进与您的托管服务。大多数情况下都有指导,向您展示如何正确配置。

我也想知道你如何使用你的链接,但我会继续解释我认为可能发生在你身上的事情。如果您在CodeIgniter中使用URL Helper进行任何链接/锚点或redirect(),请确保您使用正确的功能执行这些操作。这就是我的意思:

site_url()函数/方法将始终在您的URI中包含index.php。以下是使用网站名称http://example.com作为您网站域名的示例。

<?php echo site_url('home') ?>会变成http://example.com/index.php/home

虽然base_url()功能/方法将总是排除的index.php,除非你有它。以下是使用网站名称http://example.com作为您网站域名的示例。

<?php echo base_url('home') ?>会变成http://example.com/home

<?php echo base_url('index.php/home') ?>会变成http://example.com/index.php/home

请记住,当你已经正确修改.htaccess文件中使用这些函数/方法才是有效的。

以下链接显示了site_url()base_url()函数之间的更深入的区别。

http://codeigniter.com/user_guide/helpers/url_helper.html 

我希望这有助于!