【问题标题】:Server not accepting URL variables服务器不接受 URL 变量
【发布时间】:2014-01-11 19:26:10
【问题描述】:

我在 DigitalOcean Ubuntu 上并使用 laravel 框架,服务器奇怪地拒绝获取变量,所以 www.domain.com/?name=mohamed 当我检查 $_GET['name'] 时我什么也没得到,这个问题的原因是什么?

htaccess 文件:

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

【问题讨论】:

  • 向人们展示一些代码,也许可以对这个主题有所启发? ;-)
  • 试试var_dump($_GET)
  • 这是一个^---^ 无价的工具
  • @EisaAdil 我试过了,它是空的,这太奇怪了,它在本地环境中工作,而不是在现场。 www.domain.com/?name=mohamed 重定向到 www.domain.com/ 并且 www.domain.com?name=mohamed 在 $_GET 中没有读取任何内容
  • 它如何重定向?显示一些代码,以便我们查看(.htaccess 如果你有它可能是你的问题所在)[QSA] 标志?

标签: php apache ubuntu laravel


【解决方案1】:

默认情况下,Laravel 使用“漂亮”的 URL 方案。通常你会设置一个类似的路线

Route::get('user/{name}', function($name)
{
    return 'Hello, ' . $id . '!';
});

当您访问/user/mohamed 时,这将允许您访问设置为mohamed$name 变量。请参阅路由部分,特别是official documentation 中的route parameters

【讨论】:

  • 你好克里斯,我对此很熟悉,但我只是在诊断它为什么会这样!
  • 这个问题在哪里被标记为 Laravel? ://
  • @FDL,好点,我已经提交了对添加此标签的问题的编辑。问题正文中提到了 Laravel。
  • @Chris 啊,我没有在正文中看到它,只是很困惑:)
  • @MohamedSaid,您是要从 index.php 还是从另一个脚本检查 $_GET?一旦请求被解析,我相信对控制器的请求是通过方法调用发送的,而不是通过提交另一个GET 请求。
猜你喜欢
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
  • 2015-12-16
  • 1970-01-01
  • 2014-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多