【问题标题】:Laravel $_GET parameters are not received in controllerLaravel $_GET 参数未在控制器中接收
【发布时间】:2015-01-08 05:23:45
【问题描述】:

我是 Laravel 框架的新手。

我正在尝试一个简单的 URL “http://localhost/test?code=value”,当尝试访问控制器中 code 的值时,例如 $_GET["code"]Input::get('code'),我无法访问控制器中的值。

我正在使用带有 nginx 服务器的 digitalocean 服务器。

这是我项目中的 .htaccess 文件

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

当我尝试在 test.php 文件 <?php print_r($_GET); ?> 中使用简单的 php 脚本时,我可以访问这些值。所以,我相信我的服务器设置没有问题。

我尝试了针对类似问题Laravel stripping $_GET parameters 提到的答案,但它对我不起作用。

任何帮助将不胜感激。我被卡了很长时间:(

【问题讨论】:

  • 那个 htaccess 文件没用,因为你在 nginx 服务器上。你的nginx.conf?是什么@
  • 文件夹名是test吗?还是名为 test.php 的文件?
  • 我在 routes.php 中有一个定义为测试的路由。

标签: php .htaccess laravel nginx digital-ocean


【解决方案1】:

终于解决了这个问题。 nginx 服务器中存在错误配置。在/etc/nginx/sites-available/default 中,不是具有以下配置try_files $uri $uri/ /index.php?$query_string;,而是try_files $uri $uri/ /index.php$query_string; 没有?。添加后?一切都变得正常了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 2019-02-20
    相关资源
    最近更新 更多