Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вопрос о редиректе
 
 автор: Indemion   (05.04.2007 в 17:03)   письмо автору
 
 

Сделал клиенту сайт. Через некоторое время он решил его раскрутить. И вот кого-то он там нашел и теперь требуется линки управления сайтом отредиректить.
Формат линка:
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

Может быть я не правильно оформил отправку заголовков?

   
 
 автор: cheops   (06.04.2007 в 01:53)   письмо автору
 
   для: Indemion   (05.04.2007 в 17:03)
 

Вообще уберите заголовок
<?php
 header 
("HTTP/1.1 301 Moved Permanently");
?>

   
 
 автор: Indemion   (06.04.2007 в 11:00)   письмо автору
 
   для: cheops   (06.04.2007 в 01:53)
 

Нет программа работает, а скрипт по определению заголовков не получает отклик что происходит редирект.
Создал тупо файл test.php:

<?php
header 
("HTTP/1.1 301 Moved Permanently");
header ("location: http://www.сайт.ru/");
exit();
?>


Все идеально работает. А вот если уже вставляю это в условие (if) то увы, перестает видеть.

   
 
 автор: cheops   (06.04.2007 в 12:23)   письмо автору
 
   для: Indemion   (06.04.2007 в 11:00)
 

Откуда переменная $redirect берётся?

   
 
 автор: Indemion   (06.04.2007 в 13:02)   письмо автору
 
   для: 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.
Страница рабочая.

Извините если использовал реальные линки. Так проще объяснить :)

   
 
 автор: Indemion   (06.04.2007 в 13:11)   письмо автору
 
   для: 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']);
        }
    }
?>

   
 
 автор: cheops   (06.04.2007 в 18:32)   письмо автору
 
   для: 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']);
}
?> 

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования