我需要在CodeIgniter 3中使用2个控制器。我有欢迎和贝宝控制器。在路由中,以前我有以下代码:
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
然后添加贝宝,我尝试了以下代码,但没有帮助:
//$route['(:any)'] = 'paypal/index';
//$route['Paypal'] = 'paypal/index';
//$route['Welcome/Paypal/(:any)'] = 'welcome/index';
我分别尝试过,也一起尝试过,但仍然得到了这样的结果:
404 Page Not Found
The page you requested was not found.
我需要写什么,为了使用我的贝宝控制器?
例如,如果您想转到URLhttps://example.com/paypal
,则如果Paypal控制器具有index
功能,则不需要路由。
如果你想用一种方法"购买"一双使用URLhttps://example.com/buy/socks
的袜子,但想用PayPal控制器方法buy($item)
处理这个请求,那么你需要一个$route
。
$route['buy/(:any)'] = 'paypal/buy/$1';
但如果您的"购买"URL是https://example.com/paypal/buy/socks
,则不需要路线
唯一需要定义$route
的时间是当您想要偏离CodeIgniter的controller/function[/arg1[/arg2[...]]
URI模式时。
您的问题可能与路线无关。确保您遵守了控制器文件和类命名的CodeIgniter规则?文件名必须以大写字母开头,即Paypal.php
,并且类定义必须与文件名完全匹配。即
class Paypal extends CI_Controller {
我从您的问题中得到的是,您希望将paypal
控制器重新路由或重定向到welcome
控制器。
如果我做对了,你可以简单地用redirect
来做。。在paypal
控制器中,使用construct
或index
中的redirect
将您重定向到welcome
控制器