【发布时间】:2018-10-10 00:17:21
【问题描述】:
我对 $_GET[''] 有疑问。 在对 URL 应用 .htaccess 规则之前,一切正常,当我使用 .htaccess 文件清理 URL 时,现在 echo $_GET['id'] 给了我这个错误 (注意:未定义的索引:C:\ 中的 id wamp64\www\Test\show.php 在第 3 行)。新的干净 URL 可以在没有参数的情况下正常工作,但是当我尝试发送参数时它不会发送 id。 我不知道该怎么办。我已经搜索了这个问题超过 10 个小时,但没有结果。
我的 .htaccess 文件内容:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^show/([0-9]+)/([0-9a-zA-Z_-]+) show.php?id=$1&name=$2 [NC,L]
我想显示来自 URL 的值的 show.php 页面
<?php
$myvar = $_GET['id']."<br>";
$myvar1 = $_GET['name'];
echo $myvar;
echo $myvar1;
?>
此网址没有问题 (http://localhost/Test/show.php?id=120&name=ahmad)
**但是在这个 url (http://localhost/Test/show/120/ahmad) 中发生了这个错误**
注意:未定义的索引:第 3 行 C:\wamp64\www\Test\show.php 中的 id 注意:未定义索引:第 4 行 C:\wamp64\www\Test\show.php 中的名称
我已将 httpd.conf 文件中的 mod_rewrite.os 注释掉。
请帮帮我,谢谢。
【问题讨论】:
-
$_GET['name'] 怎么样,你能从 url "localhost/Test/show/120/ahmad" 得到它吗??
-
不,我不能得到他们两个也不能得到 id 和 name
-
也许
MultiViews在您的 apache 服务器上启用。尝试将Options -MultiViews行添加到您的 htaccess,然后再次测试 url