301 перенаправление с инструкциями if / else - PullRequest
0 голосов
/ 24 января 2012

Я хотел бы сделать редирект php 301 на основе оператора if else.У меня есть 2 категории, и я хочу, чтобы страницы из категории 2 перенаправлялись на другой URL.

Можно ли перенаправить все страницы категории 2 с domain1.com на domain2.com?

Так же:::: domain1.com/pagetitle.html to domain2.com/pagetitle.html?

У меня есть следующее, но, похоже, не работает.С in_category все в порядке, но перенаправление - это только базовый URL domain2.com, а не domain2.com/pagetitle.html:

if (in_category('2') ){
Header( "HTTP/1.1 301 Moved Permanently" ); 
header('Location: http://www.markett.nl' . $url_suffix . '/' . $url, true, 301); 
} else { }

----------------- РЕДАКТИРОВАТЬ ------------------------------------

Это все еще сводит меня с ума ...

У меня есть следующее, но Firefox говорит, что есть проблема при загрузке через некоторые куки.

Это правильная разметка ??

<?php $category = get_the_category();
$url = $_SERVER['REQUEST_URI'];

// Redirect to correct site on basis of section id
if(in_category('2') ){ 
header('Location: http://www.domain2.com/' . $url, true, 301); 
exit; } 
?>

СМОТРИТЕ ЭТО ИЗОБРАЖЕНИЕ того, что я тоже перенаправил.

Ответы [ 2 ]

0 голосов
/ 24 января 2012

Вопрос

Можно ли перенаправить все страницы категории 2 с domain1.com на domain2.com?

Да.

Возможные решения

Позвоните exit после header()

Вам необходимо exit после выдачи заголовка, чтобы он был отправлен немедленно.

Передайте код состояния вheader()

Также header() DOCs можно передать код состояния HTTP в качестве третьего параметра вместо двух вызовов header():

Приводит код ответа HTTP к указанному значению.Обратите внимание, что этот параметр действует только в том случае, если строка не пуста.

Код

Таким образом, код выглядит так:

if(in_category('2') ){
    header('Location: http://www.domain2.nl' . $url_suffix . '/' . $url, true, 301);
    exit;
}
0 голосов
/ 24 января 2012

Взгляните на переменные $ _SERVER, чтобы узнать, какой из них вам нужен: Зарезервированные переменные $ _SERVER .

Чтобы упростить задачу:

var_dump($_SERVER);
die();

Добавьте это перед вашим кодом (один раз), чтобы узнать, из чего состоят переменные.Я не даю полного ответа, так как также полезно узнать об этих переменных.

...