CodeIgniter路由在子目录中不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeIgniter路由在子目录中不起作用相关的知识,希望对你有一定的参考价值。
我已经设置了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;
我哪里错了?
答案
您不需要在路线中包含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]
以上是关于CodeIgniter路由在子目录中不起作用的主要内容,如果未能解决你的问题,请参考以下文章