Codeigniter路由基础故障排除

时间:2019-09-05 15:51:12

标签: php codeigniter frameworks

我遇到了这个问题:我从网上下载了一个登录/注册系统,并使其适应了我的需要,设置了所有目录和生根规则...一切正常,除了一件事。我在kitematik上运行灯,我的网站位于一个名为appv2的文件夹中。当我转到http://localhost:8080/appv2时,将显示白页。但是,如果我转到http://localhost:8080/appv2/home,它将重定向到我的主页...现在,如何直接访问我的主页? 我尝试使用.htaccess和route.php文件进行“播放”,但我无法弄清楚……这是我第一次遇到此问题。我给您留下了一个链接,以便您可以下载包含项目的整个文件夹: 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/$1';

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

1 个答案:

答案 0 :(得分:0)

您所看到的正是您要设置的内容。

localhost:8080 / appv2 将进入您定义的默认控制器-用户-并将使用您的 user / index 方法,因此它期望有一些东西在索引方法中。这不是一种“解决方法”,而是它的工作方式。正是您所看到的。

您假设您的路由 $ route ['appv2'] ='user / home'; 将会加入。只有在您的链接为 localhost:8080 / appv2 / appv2

您对 $ route ['(:any)'] ='user / $ 1'; 的使用值得怀疑。它将解析为您的用户控制器中不存在的方法。因此,在这种情况下,我看不出要点。

这是一个快速的答案,因此,如果您不确定什么,请询问,我会看看是否可以扩展。

相关问题