Php CodeIgniter路由在子目录中不工作

Php CodeIgniter路由在子目录中不工作,php,codeigniter,routing,Php,Codeigniter,Routing,我已经设置了一个CodeIgniter站点,但只有默认的路由似乎在工作 我必须将它设置为整个站点的子目录-默认url也是如此-这似乎与基本的开箱即用路由一起工作 我添加了一个具有以下方法的用户控制器-登录、注销、注册,因此我希望可以工作,但我得到了: 在此服务器上找不到请求的URL/subdir/users/login。 Apache/2.4.25(Win32)OpenSSL/1.0.2k PHP/5.4.44服务器,位于apps.mediaforce.co.uk端口80 我的路由文件非常基本,

我已经设置了一个CodeIgniter站点,但只有默认的路由似乎在工作

我必须将它设置为整个站点的子目录-默认url也是如此-这似乎与基本的开箱即用路由一起工作

我添加了一个具有以下方法的用户控制器-登录、注销、注册,因此我希望可以工作,但我得到了:

在此服务器上找不到请求的URL/subdir/users/login。 Apache/2.4.25(Win32)OpenSSL/1.0.2k PHP/5.4.44服务器,位于apps.mediaforce.co.uk端口80

我的路由文件非常基本,所以我尝试为用户控制器添加一个新路由,但没有任何区别

$route['users/login'] = 'subdir/users/login';
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

我哪里出错了?

您不需要在路线中包含
细分线路

因此,请将您的
$route['users/login']
更新为以下路径:

$route['users/login'] = 'users/login';

编辑1:

在根目录中创建一个
.htaccess
文件(如果该文件不存在),并在其中保存以下内容以从URL中删除
index.php

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L]

嗨-我把它改成:$route['users/login']='users/login';但仍然会收到相同的消息:在此服务器上找不到请求的URL/subdir/users/login。请再次检查控制器名称和方法名称。我可以让/subdir/index.php/users/login工作,但/subdir/users/login不工作。查看PHP信息mod_rewrite已加载。然后是您的
问题。htaccess
@chilluk检查我的更新答案,让我知道它是否适用于您。