我正在开发一个Laravel项目,我正试图从控制器获取GET参数。请求包含?date={value}
的网页应返回value
,如下所示:
public function getIndex(Request $request) {
return $request->input("date");
}
但这不起作用。 POST请求按预期工作。我通过cloudflare使用nginx。我尝试使用
创建一个普通的PHP文件echo $_GET["date"];
工作正常。
答案 0 :(得分:10)
我发现了我的问题。在网站的nginx配置(/etc/nginx/sites-available/default
)中,我有
location / {
try_files $uri $uri/ /index.php?;
}
应该是
location / {
try_files $uri $uri/ /index.php?$query_string;
}
已修复,重新启动,现在可以正常工作。
答案 1 :(得分:0)
也许getIndex()和Request $ request不能与Route :: controller一起使用。使用get('/ my-route'),它更灵活。
答案 2 :(得分:0)
我的问题是从.htaccess
删除了index.php
之后的url
文件中,只需在.htaccess
文件中添加以下简单代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]