2013-05-24 2 views
0

Я сделал mod_rewrite для category.php.

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 но не в URL? Если URL-адрес был этот ..

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

затем yes должны отображаться. Как это исправить?

+2

я думаю, что лучше тест будет пустым ($ _ GET [ 'v']) – Orangepill

+0

'v =' ** есть ** в URL. Вот что делает 'mod_rewrite'. Он поставляет сервер с измененным URL-адресом. –

+0

Попробуйте объяснить, чего вы пытаетесь достичь. –

ответ

1

В качестве строки запроса вы всегда вызываете category.php с c=$1&type=$2&r=$3&g=$4&v=$5&page=$6. Использование isset() неэффективно, так как оно всегда будет установлено. Вместо этого я бы использовал empty().

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

'isset() &&! Empty()' вместе не имеет смысла, поскольку 'empty()' проверяет, установлена ​​ли переменная. –

+0

поэтому. Спасибо за это –

Смежные вопросы