请指导我是什么问题?我的所有页面都显示在内部网部署中找不到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';
我会感激任何帮助或指导。
答案 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/"
或类似内容,具体取决于您的设置。