Php Codeigniter默认控制器在主索引页上工作,但不在主控制器内的页上工作
如何为Php Codeigniter默认控制器在主索引页上工作,但不在主控制器内的页上工作,php,codeigniter,Php,Codeigniter,如何为主控制器中的每个页面配置路由 Codeigniter默认控制器仅在Main索引页上工作,但不在events上工作,该页位于Main控制器内。(见下文) 我想要http://example.com/main/events将成为http://example.com/events 此链接会将您带到主控制器的索引页,就像它应该: http://example.com/ Main控制器的此事件页面将带您进入404错误页面: http://example.com/events events页面仅
主控制器中的每个页面配置路由
Codeigniter默认控制器仅在Main
索引页上工作,但不在events
上工作,该页位于Main
控制器内。(见下文)
我想要http://example.com/main/events
将成为http://example.com/events
此链接会将您带到主控制器的索引页,就像它应该:
http://example.com/
Main
控制器的此事件页面将带您进入404错误页面:
http://example.com/events
events
页面仅适用于URL中的默认控制器,如下所示:
http://example.com/main/events
my routes.php文件的内容:
$route['default_controller'] = 'Main';
$route['404_override'] = 'main/error404';
$route['translate_uri_dashes'] = FALSE;
.htaccess文件的内容:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
试试这个。当您的URL设置为http://example.com/events
$route['default_controller'] = 'Main';
$route['events'] = 'main/events';
$route['404_override'] = 'main/error404';
$route['translate_uri_dashes'] = FALSE;
试试这个。当您的URL设置为http://example.com/events
$route['default_controller'] = 'Main';
$route['events'] = 'main/events';
$route['404_override'] = 'main/error404';
$route['translate_uri_dashes'] = FALSE;
这就是codeigniter中路由器的工作方式。您可以:
将函数events(){…}
函数中的逻辑移动到它自己的类events extends
CI_控制器{}`Controller的索引函数中
在配置文件中设置自定义路由到Main
控制器中的方法,如下所示:(您可以使用(:any)
以及其他参数):
这就是codeigniter中路由器的工作方式。您可以:
将函数events(){…}
函数中的逻辑移动到它自己的类events extends
CI_控制器{}`Controller的索引函数中
在配置文件中设置自定义路由到Main
控制器中的方法,如下所示:(您可以使用(:any)
以及其他参数):
在application/config/routes.php中
$route['events'] = 'main/events'; # www.example.com/events
$route['newPath'] = 'controller/exactPath'; # www.example.com/newPath
在.htaccess
中(应用程序文件夹外部)
在application/config/routes.php中
$route['events'] = 'main/events'; # www.example.com/events
$route['newPath'] = 'controller/exactPath'; # www.example.com/newPath
在.htaccess
中(应用程序文件夹外部)
这应该是答案这应该是答案