LINUX.ORG.RU

Запретить вывод страниц, которых нет

 , , страниц


0

1

При переходе по постраничным номерам, например 1-news.html, 2-news.html и так далее по возрастающей, сделан вывод по 10 страниц на каждой (постраничность показывает 1, 2,3 при 21 новости). Но когда в пустой строке вверху поисковика Яндекса, напишешь любое не существующее по номеру постраничное (пусть такое 4-news.html и также по увеличению этих цифр), то опять же выводятся те же самые страницы, которые уже есть.

Как сделать, чтобы не было страниц, (число)-news.html, которых нет в постраничности, в файле .htaccess об этом объясняет строка:
RewriteRule ^(.*)-news.html$ news.php?pg=$1 [L]
А сам код в файле такой:

 
$u=1;
while($u<=$vsego)
{
?>
<a href="<?=$u ?>-news.html"><?=$u ?></a> 
<?
$u++;
}
 
}

В самом начале страницы, до того, как ты вывел вообще хоть что-то, проверить номер страницы и если он за пределами нужных, то отправить хидером 404 (http://php.net/manual/en/function.header.php) и при желании сформировать страницу.

ЗЫ: найди уже себе какой-нибудь фреймворк.

x3al ★★★★★
()
Последнее исправление: x3al (всего исправлений: 1)
if ($current_page > $vsego)
{
    header("Location: {$vsego}-news.html");
    die;
}

будет перекидывать на последнюю страницу, если номер текущей страницы больше номера последней страницы

rikardoac
()
Последнее исправление: rikardoac (всего исправлений: 1)

ТАК теги используют только мудаки.

theNamelessOne ★★★★★
()
Ответ на: комментарий от anonymous

Это как? Если ты не запустился - ты не знаешь сколько у тебя страниц и соответственно не знаешь какие валидные, а какие нет.

Suntechnic ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.