页面没有读取URL中没有index.php的查询字符串

时间:2017-12-21 08:19:25

标签: php query-string

当我的服务器升级到使用PHP7时,这个问题就开始发生了,所以我怀疑它与它有关。

我网站的网址根据查询字符串构建网页内容。例如:

example.com/?prop=one  
example.com/?prop=two  
example.com/?prop=three
etc...

但出于某种原因,当我执行以下操作时:

$prop = $_REQUEST["prop"];

或:

$prop = $_GET["prop"];

它无法识别指定的查询字符串值。

另一方面,使用以下URL格式工作正常(注意添加“index.php”):

example.com/index.php?prop=one  
example.com/index.php?prop=two  
example.com/index.php?prop=three

换句话说,我能够获取prop查询字符串值,而不会出现URL中存在“index.php”的问题。我不想在URL中使用index.php,我希望URL保持干净。这基本上是一个单页信息应用程序,它通过该查询字符串值更改内容,因此不需要在域的根目录下使用index.php。

有关如何解决这个问题的任何想法?这是否与在服务器上更新到PHP7有关?

1 个答案:

答案 0 :(得分:0)

嗯,这很令人尴尬。

基本上我意识到问题在于我在根目录下有一个index.html文件,并且在未指定索引文件时服务器默认选择了该文件。所以自然没有PHP存在,因此它给人的印象是查询字符串值没有被正确读取。重命名index.html文件后,一切都按预期工作。

我想知道我之前服务器上的设置是否设置为默认选择index.php文件而不是index.html。

我会删除整个帖子,但我想其他人可能会遇到同样的问题,所以我会留下它。