Codeigniter:如果我想同时使用index.php和没有index.php的URL,该怎么办?
我希望index.php
包括在内,index.php
不包括在我的URI中,以便在我的网站上顺利运行。我需要它,因为uploadify不起作用,它给我一个HTTP错误。Codeigniter:如果我想同时使用index.php和没有index.php的URL,该怎么办?
它的工作原理,如果我改变了这个
$config['uri_protocol'] = 'AUTO';
这个
$config['uri_protocol'] = 'QUERY_STRING';
,但随后整个系统工作不正常。
对于您的资产,首先,在config.php
上将$config['base_url']
设置为您的网站网址。
然后连接到您不想要的index.php资产时,只需使用功能base_url
<?php echo base_url("assets/uploadify/uploadify.swf"); ?>
// Generates http://URL/assets/uploadify/uploadify.swf
按照上面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
我希望这有助于!
只要确保通过教程来让网站在没有`index.php`的情况下工作。 然后,即使你使用index.php,它也可以工作。 [这是一个使用.htaccess删除index.php的方法](http://codeigniter.com/user_guide/general/urls.html) – Indranil 2011-12-15 05:53:02