$ _ 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;
?>
此URL没问题(http://localhost/Test/show.php?id=120&name=ahmad)
**但是在此网址(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。
请帮我谢谢。
答案 0 :(得分:0)
更改您的RewriteCond:
RewriteCond %{REQUEST_FILENAME} -f
到
RewriteCond %{REQUEST_FILENAME} !-f
第二个表示路径是否不是服务器上的文件,所以这就是您想要的。我猜第一个仅在路径是文件的情况下表示。