我是codeigniter的新手。这就是问题所在。 (小一是控制者)
像 www.example.com/xiaonei/index 这样的 URL 在我按照 CI 用户指南所说的操作后工作正常。
在我这样做之前,URL需要 www.example.com/index.php/xiaonei/index.So 我认为我
已经删除索引.php。
但是在我添加这个$route['(.*)'] = 'xiaonei/$1' 到路线后.php。
像 www.example.com/upload 这样的 URL 没有被路由到 www.example.com/xiaonei/upload 作为什么
我只能 www.example.com/index.php/upload 工作。所以现在我很困惑。有什么理想吗?
通过简单的 .htaccess 规则:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
已尝试并测试...
首先,请确保像下面这样设置配置文件。
$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
尝试将其放入您的配置中.php
$config['base_url'] = 'http://www.example.com';
$config['index_page'] = 'index.php';
你在这里拥有一切:http://ellislab.com/codeigniter/user-guide/general/urls.html
读取部分:删除索引.php文件
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] = "";