当 URL 不是根时,无法使用 Laravel 获取 URL 上的 GET 参数

Posted

技术标签:

【中文标题】当 URL 不是根时,无法使用 Laravel 获取 URL 上的 GET 参数【英文标题】:Cannot get the the GET parameters on the URL with Laravel when the Url is not the root one 【发布时间】:2019-08-02 06:55:06 【问题描述】:

我正在使用以下Laravel 版本:

$ php artisan --version
Laravel Framework 5.5.44

在我的Laravel 路线上,我有以下内容:

...
Route::get('/', function () 
    myLog(Input::all());
);

Route::get('/name', function () 
    myLog(Input::all());
);
...

当我转到以下网址(第一条路线)时:

https://my.website.com/?field1=value1&field2=value2&field3=value3

我进入日志文件:

2019-03-11 16:15:17|DEBUG|"field1":"value1","field2":"value2","field3":"value3"

这很好。

我的问题是当我转到以下网址(第二条路线)时:

https://my.website.com/name?field1=value1&field2=value2&field3=value3

(通知:/name

我进入日志文件:

2019-03-11 16:15:45|DEBUG|"url":"name"

知道为什么当我使用除根路由之外的Laravel 路由时,我无法获取以Get 方式传递的url 上的参数吗?

我只需要以Get 的形式检索这些参数,这是我的要求。

知道如何解决这个问题吗?

谢谢!

【问题讨论】:

你在my.website.com使用什么服务器? 【参考方案1】:

我在我的案子上发现了问题。

出于某种原因,我在.htaccess 上使用了以下Rewrite Rule。注意那个文件:

RewriteRule ^(.*)$ index.php?url=$1 [PT,L]

希望对某人有所帮助。

【讨论】:

以上是关于当 URL 不是根时,无法使用 Laravel 获取 URL 上的 GET 参数的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 两次预先添加基本 URL

当数据库无法访问时,laravel 重试

无法访问 Laravel 路由中的 URL

使用 laravel 和 jquery 分页无法按预期工作

Laravel URL::asset 用于 404 的视图

Laravel 5:当 url 以“/”结尾时防止重定向 [重复]