Здравствуйте товарищи, подскажите пожалуйста почему не срабатывает просто условие if.
<?php
$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$ur=explode('/', trim($uri, '/'));
foreach($ur as $element) {
if(!empty($element)){
$urll[] = $element;
}
}
$a=count($urll);
if ($a==2) {
$urla=$urll[1];
$categor=$urll[0];
$list_new = mysqli_query($db, "SELECT * FROM page WHERE categor='".$categor."' AND url='".$urla."';");
while ( $rows = mysqli_fetch_assoc($list_new))
{
if ($categor==$rows['categor'] && $urla==$rows['url']) {
}
}
if ($categor!=$catt && $urla!=$urlii) {
header ('HTTP/1.0 404 Not Found');
header( 'Refresh: 0; url=/404.php' );
}
}
?>
Здесь у меня берется значение из бд $catt и я его сравниваю с значением после первого слеша в адресной строке
site/perviyslash/vtoroy
Если значение в первом слеше не равно значению из бд - то 404, ввсе работает до тех пор пока я не прописываю в пером слеше "0", если я пишу site/0/vnfkds вывводит страницу второго слеша, если прописыавю любую другую цифру или любое другое значение отличное от бд, то срабатывает правильно 404.
Я делаю ЧПУ и мне нужно, чтобы срабатывал 301 редирект если эти 2 переменных не равны.
Я даже не знаю как правильно загуглить, наверное я не знаю каких то фундаментальных принципов работы.
Помогите пожалуйста.)