我是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即可。所以现在我很困惑。任何理想?
答案 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] = "";