【问题标题】:PHP $_GET returns index.phpPHP $_GET 返回 index.php
【发布时间】:2013-07-20 22:29:24
【问题描述】:

我正在运行一个简单的脚本,我想使用 $_GET['id'];从 URL 中获取某个值。

.htaccess

RewriteEngine on
RewriteRule ^([^/]+)/?$ index.php?id=$1 [L]

我的 PHP

$getID = $_GET['id'];
echo $getID;

我的网址

http://www.test.com/5/

输出

index.php

所需的输出

5

我已经坐了将近一个小时,试图弄清楚为什么它不起作用。任何帮助将不胜感激。

谢谢,

【问题讨论】:

  • 我认为它再次应用相同的重写。您应该找到一个重写条件以防止它重写对您的 index.php 的调用。举几个选项:有一个 [END] 标志,您可以尝试或使用以下条件:RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d。这些将导致仅对不是有效文件或目录的 url 进行重写。

标签: php .htaccess get


【解决方案1】:

将 [L] 更改为 [QSA]

RewriteRule ^([^/]+)/?$ index.php?id=$1 [QSA]

【讨论】:

  • @JorenVanSeveren 为什么不提出问题呢?让我们看看其他人怎么说?
  • @JorenVanSeveren 看到这个例子:hostfrosh.org/JorenQSA/5 和这个hostfrosh.org/Joren/5 然后决定!!!
  • 更改为 QSA 确实对我有用。现在一切正常。谢谢!
猜你喜欢
  • 2014-09-08
  • 2021-04-04
  • 1970-01-01
  • 2012-07-08
  • 2010-11-24
  • 1970-01-01
  • 1970-01-01
  • 2020-04-02
  • 1970-01-01
相关资源
最近更新 更多