【发布时间】:2020-08-03 21:00:42
【问题描述】:
我想为某些包含以下内容的路由重定向 (301) -
page=1(查询字符串)或
index.php 或
?&(查询字符串)
我已将路线添加为 -
Route::get('/{any_url}', 'UsersController@processRedirect')->where('any_url', '(.*)index\.php(.*)|(.*)page=1(.*)|(.*)|?&(.*)');
当我在https://regex101.com/ 中进行检查时,它正在工作,但在我的应用程序中却无法正常工作。
可能是什么问题?
我已通过 MiddleWare 完成此操作,但我不想检查所有 url。
还有其他方法可以实现吗?
【问题讨论】:
-
你是如何测试这个的?我可以想象只能检查
index.php,其他任何东西都是路由未涵盖的url参数,你需要检查你的processRedirect方法 -
我无法检查是。它也不适用于
index.php。有什么办法吗?我已经通过MiddleWare完成了这项工作,但我不想检查所有网址。 -
为什么不在 .htaccess 和 rewrite 模块中这样做?
-
@jgetner,我们希望避免对所有路线进行检查和处理。
-
你的意思是你还有其他路线吗?
标签: php laravel laravel-5 laravel-routing