Codeigniter 路由基础故障排除

Codeigniter routing base troubleshoot

我遇到了这个问题:我从网上下载了一个 login/register 系统并根据我的需要对其进行了调整,设置了所有目录和生根规则...一切正常,除了一件事。我在 kitematik 上 运行 lamp,我的网站位于一个名为 appv2 的文件夹中。当我转到 http://localhost:8080/appv2 a white page is displayed. But if I go to http://localhost:8080/appv2/home 时,它会将我重定向到我的主页...现在,我如何才能直接访问我的主页? 我尝试 "playing" 与 .htaccess 和 routes.php 文件,但我无法弄清楚......这是我第一次遇到这个问题。我留给你 link 以便你可以下载包含项目的整个文件夹: https://file.io/qtCebE 在下面我包括我的路由规则和 .htaccess 文件配置。

/////////////////////////routes.php///////////////
$route['register'] = 'user/register';
$route['login'] = 'user/login';
$route['logout'] = 'user/logout';
$route['home'] = 'user/home';
$route['appv2'] = 'user/home';

$route['default_controller'] = 'User';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['(:any)'] = 'user/';

//////////////////////////.htaccess////////////////
RewriteEngine on
RewriteBase /appv2/
RewriteCond  !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /appv2/index.php/ [L,QSA]

您所看到的正是您对其进行设置的目的。

localhost:8080/appv2 将转到您定义的默认控制器 - 用户 - 并将使用您的 user/index 方法,所以它希望在索引方法中有一些东西。这不是 "workaround",而是它的工作原理。这正是您看到的情况。

您已经假设您的路线 $route['appv2'] = 'user/home'; 将会启动。好吧,只有当您的 link 是 localhost:8080/appv2/appv2.

您对 $route['(:any)'] = 'user/'; 的使用有问题。它将解析为您的 用户控制器 中不存在的方法。所以在这种情况下我不明白它的意义。

这是一个快速的回答,所以如果您有任何不确定的地方,请提问,我会看看是否可以详细说明。