Люди добрые, направьте в нужном направлении.
Как убрать редирект в all_ads на свою 404? joomprod давит на "sef404", но наверняка у многих, как и у меня нет и не было желания использовать лишний компонент...
Яндекс нервничает, что получает 200, ну и я с ним тоже)
Включен стандартный SEF с суффиксом.
я вот экспериментирую с этой темой тоже.
чтобы убрать редирект надо во вьюхе details во view.html.php вместо
$app->redirect( TRoute::_('index.php?option=com_adsmanager&view=list&catid='.$catid));
вставить что то вроде
header($_SERVER['SERVER_PROTOCOL']." 404 Not Found");
echo file_get_contents(JURI::root().'index.php?option=com_content&view=article&id=6');
exit();
у меня просто 404-я страница как материал сделана. Предварительно 404-ю ошибку шлем, а не просто редиректим.
далее, сейчас дошел до роутера и в файле /components/com_adsmanager/router.php
сделал вот чего:
вместо
else
{
if ($nbsegments == 2)
{
$catid = explode( ':', $segments[0] );
$vars['catid'] = (int) $catid[0];
$id = explode( ':', $segments[1] );
$vars['id'] = (int) $id[0];
$vars["view"] = "details";
}
сделал вот такое
if ($nbsegments == 2)
{
$catid = explode( ':', $segments[0] );
$vars['catid'] = (int) $catid[0];
$id = explode( ':', $segments[1],2 );
if ($id[1]==getAdsmanagerRouteContent((int)$id[0]))
{
print_r('ok');
}
else {
header($_SERVER['SERVER_PROTOCOL']." 404 Not Found");
echo file_get_contents(JURI::root().'index.php?option=com_content&view=article&id=6');
exit();
}
$vars['id'] = (int) $id[0];
$vars["view"] = "details";
}
print_r отладочный у меня
смысл в том, что смотрим чего там нам передали, считываем идшник, по идшнику определяем какая часть ссылки из заголовка обьявления должна получиться и если то что считали в ссылке и то что должно быть не равно друг другу, то идем на 404-ю с отдачей кода ошибки. Ну а если в ссылке кривой идшник, то на 404-ю уйдем из вьюхи details.
Визуально вроде как не дает теперь рисовать что попало в ссылке после идшника. буду еще тестить
также если обьяве поменяли headtext, то по сути роутер генерит ему новую ссылку и при такой реализации по старой ссылке объявление уже не найти, что, наверное коряво так как идшник не изменился. Не знаю пока, но для поисковика это другое уже объявление, ведь заголовок поменялся и ссылка по сути