Laravel如何路由旧网址

问题描述 投票:1回答:2

我正在使用Laravel 4。

我有一个旧网址,该网址必须是可路由的。它的目的并不重要,但是它存在于贝宝系统中,将被定期调用但不能更改(我知道这很荒谬)。

我意识到这不是Laravel中应该采用的格式网址,但这是将被调用的网址,我需要找到一种路由方法:

http://domain.com/forum/index.php?app=subscriptions&r_f_g=xxx-paypal

(每个请求的xxx都不同)

我不知道如何使用laravel进行路由,我想将其路由到PaypalController @ ipbIpn方法,所以我尝试了类似的方法:

Route::post('forum/index.php?app=subscriptions&r_f_g={id}-paypal', 'PaypalController@ipbIpn');

但是这不起作用,实际上我什至无法使它起作用:

Route::post('forum/index.php', 'PaypalController@ipbIpn');

但是这会:

Route::post('forum/index', 'PaypalController@ipbIpn');

所以问题是,如何使用Laravel路由此问题顶部的网址?

为了完整起见,我总是说这将是一个职位,而不是获得,但实际上对解决方案没有任何影响。

laravel laravel-4 routing url-routing
2个回答
0
投票

使用此:

Route::post('forum/{file}', 'PaypalController@ipbIpn');

然后在控制器中使用

    public function forum($file) {
            $request = Route::getRequest();

            $q = (array) $request->query; // GET
            $parameters = array();
            foreach($q as $key => $pararr) {
                $parameters = array_merge($parameters, $pararr);
            }
    }

然后您可以通过例如访问get参数

echo $parameters['app'];

0
投票

您可以使用路由重定向来屏蔽和结束.php路由ex:

Route::get('forum/index', ['uses'=> 'PaypalController@ipbIpn']);
Route::redirect('forum/index.php', 'forum/index');
© www.soinside.com 2019 - 2024. All rights reserved.