Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 上传到服务器时路由不工作(CodeIgniter)_Php_Codeigniter_Codeigniter 2 - Fatal编程技术网

Php 上传到服务器时路由不工作(CodeIgniter)

Php 上传到服务器时路由不工作(CodeIgniter),php,codeigniter,codeigniter-2,Php,Codeigniter,Codeigniter 2,我在CodeIgniter上创建了一个站点,在XAMPP上一切正常。但当我上传文件到服务器时,路由停止工作。我在所有页面上都发现404URL未找到错误,除了索引页面 这是我的路线 $route['default_controller'] = "onlinec"; $route['404_override'] = ''; $route['home'] = 'serial/home/'; $route['done'] = 'serial/done/'; $route['redeem'] = 'ser

我在CodeIgniter上创建了一个站点,在XAMPP上一切正常。但当我上传文件到服务器时,路由停止工作。我在所有页面上都发现404URL未找到错误,除了索引页面

这是我的路线

$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>

重新启动发动机
重写COND%{REQUEST_URI}^系统*
重写规则^(.*)$/index.php?/$1[L]
重写cond%{REQUEST_URI}^应用程序*
重写规则^(.*)$/index.php?/$1[L]
1美元^(索引\.php | images | robots\.txt)
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php?/$1[L]
ErrorDocument 404/index.php
http://***/serial/home
上,我得到一个404 URL未找到错误

http://***/serial/
上,我正确地获得了页面

因此,目前只有
index.php
起作用

$config['uri_protocol']='AUTO'上尝试了所有可能性和我的
mod_rewrite
httpd.conf


有人能帮我吗。这是一台AWS Linux服务器。

尝试添加htaccess重写库,如:

RewriteEngine On

RewriteBase /

然后试着设定

$config['base_url']类似于:

$config['base_url'] = 'http://yourwebsite.com/';
而不是:

$config['base_url'] = '';

在您的配置文件中。

您是否正在尝试创建漂亮的URL?您的
.htaccess
不应该是这样吗
RewriteRule^(.*)$/[L]
(去掉codeigniters配置文件集中的
index.php
+
$config['index\u page']='';
config文件设置为$config['index\u page']=''。尝试了RewriteRule^(.*)/[L]但它不起作用。
$config['base\u url'].htaccess
edit)我只是忘了删除我评论中的其他字符。我希望这是唯一的问题。@Derfder:我以前试过这个,但我只是再试一次,但没有成功:(@Kyslik:是的,我在htaccess上试过,运气不好:(@Derfder:Current base_url是空的,它正在为索引上的CSS文件选择正确的路径。但是没有任何其他方法能起作用。我也尝试了正确的路径……一切都在Xampp上正常工作,我不知道它为什么不能在服务器上工作:/n您可能还没有在此服务器上打开一些php模块或followsymlinks可能是个问题。尝试询问主机支持。向他们发送您的htaccess和指向此问题的链接。我认为服务器配置有问题。
$config['base_url'] = '';