CodeIgniter路由在子目录中不起作用

问题描述 投票:1回答:1

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

我不得不将其设置为整个站点的子目录 - 所以http://localhost/subdir是默认的URL - 这似乎与基本的开箱即用路由一起使用。

我添加了一个带有以下方法的用户控制器 - 登录,注销,注册,所以我期待http://localhost/subdir/users/login可以工作,但我得到:

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

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

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

我哪里错了?

php codeigniter routing
1个回答
2
投票

您不需要在路线中包含subdir

因此,请更新您的$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]
© www.soinside.com 2019 - 2024. All rights reserved.