Как я могу перенаправить страницу с заголовком 301 в PHP?

#php #redirect #header

#php #перенаправление #заголовок

Вопрос:

Как я могу перенаправить

 example.com/script.php?id=567
  

Для

 example.com/script2.php?id=5677amp;something=anotherthingamp;something2=anotherthing2
  

в php используется перенаправление с заголовком 301?

Комментарии:

1. в php или mod_rewrite? выберите одну, пожалуйста

2. Я предполагаю, что ему нужен PHP, поскольку он помечен таким образом.

3. да, это то, что я хотел… моя ошибка.

Ответ №1:

Сам код прост:

 <?php
if($_SERVER['REQUEST_URI']=='/script.php?id=567'){
    header ('HTTP/1.1 301 Moved Permanently');
    header ('Location: http://example.com/script2.php?id=5677amp;something=anotherthingamp;something2=anotherthing2');
    die();
}
?>
  

Вы также можете использовать $_SERVER[‘HTTP_HOST’] для получения имени хоста example.com . И вы также должны убедиться, что ваш скрипт не имеет никаких выходных данных перед вызовом header() .

Комментарии:

1. хорошо, но 567 был только примером … это переменная… (плохо, что я не указал)

2. Что вы хотите перенаправить, куда, по какому совпадению? @Col. Возможно, Шрапнель был прав. Если ваша ситуация не зависит от PHP, вам следует рассмотреть возможность использования mod_rewrite

3. что ж… например, 576 это может быть идентификатор из базы данных (и у меня есть больше), мне нужно перенаправить его с помощью php.

4. итак, у вас есть $id=576 … и вы хотите конкретно перенаправить на script2.php?id={$id}7amp;otherparams ? Если нет, разместите ссылку перенаправления, карту или что-то еще

5. я пытался добавить $the_id=$_REQUEST['id']; , но скрипт больше не работает script2.php?id=$the_idamp;otherparams

Ответ №2:

Если у вас есть доступ к файлу script.php , то вы можете добавить следующий код сверху:

 <?php
$id = $_GET['id'];

//Get your extra params from the database if needed...

header ('HTTP/1.1 301 Moved Permanently');
header ('Location: http://example.com/script2.php?id='.$id.'amp;something=anotherthingamp;something2=anotherthing2'); //Append params retrieved from database here.
die();
?>