我在CodeIgniter上创建了一个网站,一切都在XAMPP上正常运行。但是当我将文件上传到服务器时,路由停止工作。我在除索引页面之外的所有页面上都收到404 URL not found错误。
这是我的路线。
$route['default_controller'] = "onlinec";
$route['404_override'] = '';
$route['home'] = 'serial/home/';
$route['done'] = 'serial/done/';
$route['redeem'] = 'serial/redeem/';
$route['printpage'] = 'serial/printpage/';
$route['login'] = 'serial/auth/login';
$route['logout'] = 'serial/auth/logout';
这是我的 .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
on http:/***/serial/home
我收到404网址未找到错误
在http:/***/serial/
上我正确地获得了该页面。
所以目前只有index.php
才能正常工作
尝试$config['uri_protocol'] = 'AUTO';
上的所有可能性,mod_rewrite
<{1}}中的httpd.conf
已开启
任何人都可以帮助我。这是AWS Linux服务器。
答案 0 :(得分:1)
尝试添加htaccess Rewritebase,如:
RewriteEngine On
RewriteBase /
或
RewriteEngine On
RewriteBase /subfolder/subsubfolder/
并尝试设置
$ config ['base_url']喜欢:
$config['base_url'] = 'http://yourwebsite.com/';
而不是:
$config['base_url'] = '';
在配置文件中。