|
|
|
| Сделал клиенту сайт. Через некоторое время он решил его раскрутить. И вот кого-то он там нашел и теперь требуется линки управления сайтом отредиректить.
Формат линка:
http://сайт.ru/index.php?menu=1
В интернете есть множество программ позволяющих отправить и получить отклик по заголовкам. Ответ программы на такой линк: HTTP/1.1 404 Not Found
Поэтому мне нужно обработать входящий URL, понять есть редирект или нет и потом примерно так:
if ($redirect) {
header ("HTTP/1.1 301 Moved Permanently");
header ("Location: http://www.сайт.ru/");
exit();
}
|
Я все это сделал примерно так:
if (!empty($_SERVER["argv"][0]))
{
$zapros = str_replace("menu=", "",$_SERVER["argv"][0]);
//Далее следует кусок обработки запроса и получение значение $redirect
if ($redirect)
{
header ("HTTP/1.1 301 Moved Permanently");
header ("location: http://www.evrohim-rti.ru/");
die;
}
}
}
| Все работает. Однако программа работы с заголовками не отображает редирект. Он должен был в формате:
HTTP/1.1 301
Following => http://сайт.ru
HTTP/1.1 200
Может быть я не правильно оформил отправку заголовков? | |
|
|
|
|
|
|
|
для: Indemion
(05.04.2007 в 17:03)
| | Вообще уберите заголовок
<?php
header ("HTTP/1.1 301 Moved Permanently");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(06.04.2007 в 01:53)
| | Нет программа работает, а скрипт по определению заголовков не получает отклик что происходит редирект.
Создал тупо файл test.php:
<?php
header ("HTTP/1.1 301 Moved Permanently");
header ("location: http://www.сайт.ru/");
exit();
?>
|
Все идеально работает. А вот если уже вставляю это в условие (if) то увы, перестает видеть. | |
|
|
|
|
|
|
|
для: Indemion
(06.04.2007 в 11:00)
| | Откуда переменная $redirect берётся? | |
|
|
|
|
|
|
|
для: cheops
(06.04.2007 в 12:23)
| | Я, похоже, всё усложнил.
Вот здесь смотрю HTTP заголовки: http://seolab.ru/add/header.htm
Вот рабочий сайт: http://neopets.com.ru
Мне нужно, чтобы при вводе линка в поле URI: http://www.neopets.com.ru/index.php?menu=b_books_view я получал не HTTP/1.1 404 Not Found а HTTP/1.1 301 Moved Permanently.
Страница рабочая.
Извините если использовал реальные линки. Так проще объяснить :) | |
|
|
|
|
|
|
|
для: cheops
(06.04.2007 в 12:23)
| | Переменную вычисляю так:
<?php
if (!empty($_SERVER["argv"][0]))
{
$zapros = str_replace("menu=", "",$_SERVER["argv"][0]);
$search_field = "lenta mining
hardfire rezina_all moroz no_erase warm
adgez lenta_easy lenta_normal lenta_hard ep
zamok rings shevron glue gost zakaz skrebki
armor futerovka s_planki naklad process
mail sotrud contacts company b_books_view";
$redirect = substr_count($search_field, $zapros);
if ($redirect < 1)
{
header ("HTTP/1.1 301 Moved Permanently");
header ("Location: http://".$HTTP_SERVER_VARS['HTTP_HOST']);
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Indemion
(06.04.2007 в 13:11)
| | Хм... может поступить чуть попроще?
<?php
$search_field = "lenta mining
hardfire rezina_all moroz no_erase warm
adgez lenta_easy lenta_normal lenta_hard ep
zamok rings shevron glue gost zakaz skrebki
armor futerovka s_planki naklad process
mail sotrud contacts company b_books_view";
if(strpos($search_field, $_GET['menu']) !== false)
{
header ("HTTP/1.1 301 Moved Permanently");
header ("Location: http://".$_SERVER['HTTP_HOST']);
}
?>
|
| |
|
|
|