подскажите как сделать так что бы
throw new CHttpException(404, 'Not found');
кидала на определенный адрес, а не показывала сообщение под тем же адресом ?
подскажите как сделать так что бы
throw new CHttpException(404, 'Not found');
кидала на определенный адрес, а не показывала сообщение под тем же адресом ?
$this->redirect($url, true, 404);
Кстати, пробовал.
Редирект в заголовках вроде правильный. Но вот до рендера почему-то не доходит (
$this->redirect($url, true, 404);
Это неправильно. Редирект может быть только с кодом на тройку.
То что вы хотите это сначала редирект на нужную страницу. А уже там заголовок 404 и рендер или CHttpException(404, …)
Кстати, хотеть подобного тоже идеологически неверно
Это требования сеошников, мне больше нравится вариант через CHttpException(404)
Возможно просто кто-то кого-то неправильно понял? Exel дело говорит, прислушайтесь.
По большому счету нет никаких гарантий, что браузер увидев "404 Not found" будет следовать по указанному тут же location. В любом случае 404 и location на одной странице - это неоднозначность. На месте поисковиков, увидев такие страницы, я бы сильно задумался как относиться к такому сайту.
Но возможно ваши сеошники знают что-то, чего не знаем мы?