Редирект на php

Статус
В этой теме нельзя размещать новые ответы.

unsiker

Постоялец
Регистрация
6 Июн 2008
Сообщения
465
Реакции
173
Есть правило в htaccess
PHP:
RewriteRule ^([a-z|0-9]+)/?$ redir.php?r=$1 [L]
В файле redir.php пишу код

PHP:
  Header( "HTTP/1.1 301 Moved Permanently" ); 
  header("Location: $newurl");
И тут у меня возникает проблема: если в переменную $newurl поставить правильный url (тоесть открывающийся сайт), то все нормально редиректится. А если по такому пути нету ничего (тоесть сайт недоступен), то мне так и отображается мой адрес в стоке браузера и переход не осуществляется. Подскажите как исправить? Сделать так что при недоступном сайте был переход на него.
 
PHP:
/**
   * Перенаправление
   * @param string URL
   * @param integer Задержка в сек
   * @param mixed Тип заголовок или мета
   */
  function redirect($url,$time=0,$type='header') {
    switch($type):
      case 'meta':
        echo'<meta http-equiv="refresh" content="'.$time.'; URL='.$url.'" >';
        break;
      case 'location':
        header("Request-URI: $url");
        header("Content-Location: $url");
        header("Location: $url");
        header("Location: url=".$url);
        break;
      case 'refresh':
      default:
        if(headers_sent()):
          echo"<script>document.location.href='$url';</script>\n";
        else:
          header("Request-URI: $url");
          header("Content-Location: $url");
          header("Refresh: ".$time." url=".$url);
        endif;
        exit();
        break;
      endswitch;
  }

Добавлено через 51 секунду
как вариант попробуй может поможет
 
Переменная $newurl заданна?
PHP:
 Header( "HTTP/1.1 301 Moved Permanently" );  
  header("Location: ".$_GET['r']);
 
PHP:
<?
$newurl=$_GET['newurl'];

header("Location: http://$newurl");

exit();
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху