tag and content not found

ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

tag and content not found

Post by ulan »

Добрый вечер, подскажите структуру
Если зайти на заведомо не существующий тег то выводится стандартная страница тегов без тумб
можно ли сделать если теги не найдены чтобы выводился шаблон content_not_found
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: tag and content not found

Post by admin »

Приветствую!

таги выводятся так же как и поиск - если поиск ничего не нашел то гугле же непишет 404, а пишет найдено 0

в чем смысл с таками делать иначе?
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: tag and content not found

Post by ulan »

Серч я могу заблокировать от индексации и не парится
а с тегами проблемней, к примеру я разворачивал сегодня старые домены где когда то были страницы с тегами
но на новом сайте этих тегов не существует а пустые не информативные страницы лезут в индекс без контента и без тумб
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: tag and content not found

Post by admin »

те вы думаете лучше показывать 404 чем страницу где будет писать что "нет контента, но вы можете посмотерть его тут" ?

дело личное

в темпелйте можно проверять на total_items == 0 и выдавать

header("HTTP/1.1 404 Not Found");
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: tag and content not found

Post by ulan »

Я может не сильно понял
в темпелйте можно проверять на total_items == 0 и выдавать

header("HTTP/1.1 404 Not Found");

но это не изменит не тайтл ничего а просто пошлет в хидерах 404 пошлет

а я все же хочу выводить страницу контентнотфаунд
как это по умному сделать?
total_items == 0 также будет влиять и на серчи? раз шаблон общий
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: tag and content not found

Post by admin »

на серчи -да, но вы можете в реврайтахъ добавить &force_template для реврайта тага

if (total_items == 0) {

header("HTTP/1.1 404 Not Found");
инклуд темплейта not found

} else {

обычный вывод тагов

}
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: tag and content not found

Post by ulan »

да у меня так и есть
RewriteRule ^search/([^/]+)/$ /scj/cgi/index.php?search=$1&%{QUERY_STRING} [L]
RewriteRule ^tag/([^/]+)/$ /scj/cgi/index.php?tag=$1&%{QUERY_STRING} [L]

теперь вопрос как правильно закодить чтобы было
если страница тег и 0 резалтов то инклудим темплейт нот фаунд
иначе выход из условия

А может быть разбить серчи и таги на разные темплейты?
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: tag and content not found

Post by ulan »

а еще если не трудно подскажите почему не работает
<? if ('<!--FORCE_TEMPLATE-->' == 'index') { ?> Код для индекса <? } else { ?> Код для всех остальных страниц <? } ?>
выводит на индексе код для всех страниц
в то время как
<? if ($_SERVER['REQUEST_URI']=='/') { ?>Код для индекса<? } else { ?>Код для всех остальных страниц<? } ?>
такой код работает
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: tag and content not found

Post by admin »

ulan wrote: Sat Dec 08, 2018 4:25 am да у меня так и есть
RewriteRule ^search/([^/]+)/$ /scj/cgi/index.php?search=$1&%{QUERY_STRING} [L]
RewriteRule ^tag/([^/]+)/$ /scj/cgi/index.php?tag=$1&%{QUERY_STRING} [L]

теперь вопрос как правильно закодить чтобы было
если страница тег и 0 резалтов то инклудим темплейт нот фаунд
иначе выход из условия

А может быть разбить серчи и таги на разные темплейты?

а где тут в реврайтах force_template ?

на одно сообщение выше пример как инклудить темпелйт. Видимо я что-то не понимаю...
Don't forget to run script update
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: tag and content not found

Post by admin »

ulan wrote: Sat Dec 08, 2018 4:34 am а еще если не трудно подскажите почему не работает
<? if ('<!--FORCE_TEMPLATE-->' == 'index') { ?> Код для индекса <? } else { ?> Код для всех остальных страниц <? } ?>
выводит на индексе код для всех страниц
в то время как
<? if ($_SERVER['REQUEST_URI']=='/') { ?>Код для индекса<? } else { ?>Код для всех остальных страниц<? } ?>
такой код работает

потому что $_SERVER - это переменная пхп , она существует, а <!--FORCE_TEMPLATE--> это по виду таг, но такого тага нет, где вы его взяли ? проверил http://smartcj.com/wiki/doku.php?id=ru: ... _templates - нету
есть <!--TEMPLATE_NAME--> - имя текущего темплейта ..
Don't forget to run script update
Post Reply