isset和$ _GET with url,修复mod_rewrite

时间:2013-05-24 13:25:14

标签: php mod-rewrite

我为category.php做了mod_rewrite。

RewriteRule ^category/([A-Za-z0-9-]+)(&type=[A-Za-z0-9-]+)?(&r=[A-Za-z0-9-]+)?(&g=[A-Za-z0-9-]+)?(&v=[A-Za-z0-9-]+)?(&page=[A-Za-z0-9-]+)?/?$ /category.php?c=$1&type=$2&r=$3&g=$4&v=$5&page=$6 [L]

在浏览器中使用此网址;

http://localhost/category/general

我测试v是否存在

if(isset($_GET['v'])) {
echo "yes";
}
显示

yes但它不在网址中?如果网址是这个..

http://localhost/category/general&v=1

然后应显示yes。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您始终使用category.php作为查询字符串调用c=$1&type=$2&r=$3&g=$4&v=$5&page=$6。使用isset()效率很低,因为它总是会被设置。我会改用empty()

if(!empty($_GET['v'])) {
    echo "yes";
}