在Intranet部署中找不到codeigniter 404页面

时间:2014-05-27 09:00:07

标签: .htaccess codeigniter codeigniter-2 codeigniter-url codeigniter-routing

请指导我是什么问题?我的所有页面都显示在内部网部署中找不到404,而主(主页)页面正在查看。

的.htaccess

RewriteEngine On
RewriteBase /dna/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /dna/index.php/$1 [L]

routes.php文件

$route['default_controller'] = "home";
$route['404_override'] = 'error/index';
$route['pages/(:any)']="pages/view/$1";
$route['contact-us'] = 'contact_us/index';
$route['news'] = 'news/index';

我会感激任何帮助或指导。

3 个答案:

答案 0 :(得分:2)

Codeigniter会自动为您的网站获取$ config [' base_url'],因此您可以将其留空 确保已启用mod_rewrite。 然后用这个修改你的.htaccess:

<IfModule mod_rewrite.c>

  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_URI} ^site_hostname.*
  RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule> 

希望能解决它。

答案 1 :(得分:1)

CodeIgniter存在子文件夹问题。

创建新的虚拟主机,例如dna.example.com

dna/.htaccess设置中删除base_url

答案 2 :(得分:1)

RewriteEngine On
RewriteBase /dna/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

假设您在config

中设置了正确的$config['base_url'],上述方法就可以正常工作

$config['base_url'] = "http://localhost/DNA/"或类似内容,具体取决于您的设置。