Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter路由基础故障排除_Php_Codeigniter_Frameworks - Fatal编程技术网

Php Codeigniter路由基础故障排除

Php Codeigniter路由基础故障排除,php,codeigniter,frameworks,Php,Codeigniter,Frameworks,我遇到了这个问题:我从网上下载了一个登录/注册系统,并根据我的需要进行了调整,设置了所有的目录和根规则。。。除了一件事,一切都很好。我正在kitematik上运行lamp,我的网站位于一个名为appv2的折叠器中。当我转到一个白色页面时显示。但如果我去它会重定向到我的主页。。。现在,我如何直接访问我的主页? 我试着“玩”了.htaccess和routes.php文件,但我想不出来。。。这是我第一次遇到这个问题。我给您留了一个链接,您可以下载项目的整个文件夹: 在下面的内容中,我将包括路由规则和.

我遇到了这个问题:我从网上下载了一个登录/注册系统,并根据我的需要进行了调整,设置了所有的目录和根规则。。。除了一件事,一切都很好。我正在kitematik上运行lamp,我的网站位于一个名为appv2的折叠器中。当我转到一个白色页面时显示。但如果我去它会重定向到我的主页。。。现在,我如何直接访问我的主页? 我试着“玩”了.htaccess和routes.php文件,但我想不出来。。。这是我第一次遇到这个问题。我给您留了一个链接,您可以下载项目的整个文件夹: 在下面的内容中,我将包括路由规则和.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]

你所看到的正是你所设定的

localhost:8080/appv2将转到您定义的默认控制器-用户-并使用您的user/index方法,因此它希望在index方法中包含一些内容。这不是一个“变通办法”,而是它的工作方式。这正是你所看到的

您假设您的路由$route['appv2']='user/home'将生效。只有当您的链接是localhost:8080/appv2/appv2时,这才有效

您对$route['(:any)]='user/$1'的使用是有问题的。它将解析为用户控制器中不存在的方法。所以我看不出这件事有什么意义


这是一个快速的答案,因此如果您不确定任何事情,请询问,我将看看是否可以扩展它。

尝试$route['(:any)]=“user/home”@维克尔已经试过了。。。不工作。。。我也只是再次尝试,只是为了确定。。。我认为问题可能出在.htaccess文件中,但没有得到它..检查您是否有$config['index_page']='';在你的config.phpI中,我发现了。。。但不是真的。。。codeigniter设置中有一些不正确的地方。。。在我的主控制器“用户”中,索引类为空。。。在这方面,我加载了页眉,主页和页脚,当我去它的工作刚刚好。。。但这就像一个“变通方法”,因为在另一个项目中,我的主控制器的索引类是空的,我被重定向到我的主页…@Vickel我得到了:$config['index_page']='index.php';我明白你的意思,这确实帮助我理解了codeigniter的路线。但不管怎样,有一件事我想不出来。我可以设置我的默认控制器(在这种情况下是用户),我的默认方法是自动索引,对吗?我目前正在上一门关于网络开发的课程。我们被告知使用codeigniter。我们得到了一个简短的介绍(“新闻”的在线教程),索引方法实际上是空的,但是如果你只是键入,它会加载主页。现在我被困在这个问题上了,就像你可以改变你的默认方法一样。是的,如果你只是在没有方法的情况下调用控制器,索引方法总是被调用(有时不是)。你所想的正在发生,不是吗。不能让空索引方法执行某些操作。它是空的。codeigniter站点上的新闻示例确实在其索引方法中包含了大量内容,所以我不确定您指的是什么。