从URL中删除index.php - codeigniter 2.1.4

时间:2013-10-20 14:25:46

标签: php codeigniter codeigniter-2

我是codeigniter的新手。这是问题所在。 (xiaonei是控制者)

www.example.com/xiaonei/index这样的网址在我完成CI用户指南所说的内容之后正常工作。

在我这样做之前,网址需要是www.example.com/index.php/xiaonei/index.So我以为我

已删除index.php。

但是我把这个$ route ['(。*)'] ='xiaonei / $ 1'添加到routes.php之后。

像www.example.com/upload这样的网址没有路由到www.example.com/xiaonei/upload

我只需要www.example.com/index.php/upload即可。所以现在我很困惑。任何理想?

5 个答案:

答案 0 :(得分:3)

通过简单的.htaccess规则:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L] 

答案 1 :(得分:1)

尝试和测试......

首先,请确保将配置文件设置为以下内容..

$config['index_page'] = '';

还要确保在httpd.conf文件中启用了mod_rewrite,然后在应用程序文件夹中覆盖位于项目根文件夹(codeigniterdirectory / .htaccess)的.htaccess文件(codeigniterdirectory / application / .htaccess),代码如下..

RewriteEngine on
RewriteCond $1 !^(index\.php|public|\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1

答案 2 :(得分:0)

尝试将其放入config.php

$config['base_url'] = 'http://www.example.com';
$config['index_page'] = 'index.php';

答案 3 :(得分:0)

你在这里有一切: http://ellislab.com/codeigniter/user-guide/general/urls.html

阅读部分:删除index.php文件

答案 4 :(得分:0)

1)打开httpd.conf,取消注释#LoadModule rewrite_module modules/mod_rewrite.so

的行

2)将.htaccess文件创建到根目录并放入以下完整的行: -

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L] 
</IfModule>

3)打开\system\application\config\config.php并将$config[index_page] = "index.php";修改为$config[index_page] = "";