Я посмотрел примеры кода в инете, например, на ASP.NET (мне языки без разницы):
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.seoconsultants.com/new-page.asp");
}
</script>
но, как я понял, это работает в случае, если страницу перенесли на новый адрес. У меня же по сути и старый способ адресации работает: catalog.php?id=N, и на него накладывается новый в виде псевдостатики. Но при попытке зайти на старый адрес с ?id переход на новый через приведённый PHP код не идёт :(
Я пробовал такой PHP-код:
$newpage = "cat" . $id . ".html"; // new address, sample: cat1.html
/*
if ($pagename != $newpage) // зацикливание
// redirect с catalop.php?id=N на catX.html.
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: " . $newpage);
exit();
*/
он не работает, похоже, браузер попадает в бесконечный цикл, процесс Apache.exe имеет высокую загрузку процессора.