Автор Тема: как правильно сделать redirect?  (Прочитано 3797 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн D.O.

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 81
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.liveinternet.ru/users/info101
как правильно сделать redirect?
« : 08 Декабря 2004, 02:55:18 »
Как правильно сделать redirect?
Я делал так:

use CGI qw(:standard);
use CGI::Carp qw (fatalsToBrowser);
#...
my $query = new CGI;
#...
$query->redirect("main_page.pl");

До этого вызова пользователю не выдавалось ничего.
Такой способ не срабатывает.
Почему так получается и как сделать правильно?
Доска объявлений

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
как правильно сделать redirect?
« Ответ #1 : 08 Декабря 2004, 08:15:01 »
изучаем perldoc

  print $query->redirect(\'http://somewhere.else/in/movie/land\');
Все болезни от нервов, только сифилис от удовольствия

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
как правильно сделать redirect?
« Ответ #2 : 08 Декабря 2004, 11:35:50 »
на худой конец:
print "Location: http://www.blah.org/\\n\\n";
And no religion too...

Оффлайн D.O.

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 81
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.liveinternet.ru/users/info101
как правильно сделать redirect?
« Ответ #3 : 08 Декабря 2004, 15:56:57 »
Теперь понятно: можно использовать только полне абсолютные URL.
А как быть, если мне нужно передать URL на одну из страниц моего сайта, но нет желания вписывать название домена или "localhost"? Например, чтобы я мог без изменений тестировать скрипт на локальном компьютере и потом выкладывать на сайт.
Доска объявлений

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
как правильно сделать redirect?
« Ответ #4 : 08 Декабря 2004, 16:06:03 »
D.O.
Цитировать
Теперь понятно: можно использовать только полне абсолютные URL.

это не так! относительные пути тоже можно использовать... только надо это делать грамотно!
And no religion too...

Оффлайн D.O.

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 81
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.liveinternet.ru/users/info101
как правильно сделать redirect?
« Ответ #5 : 08 Декабря 2004, 17:42:58 »
Цитировать
commander:
относительные пути тоже можно использовать... только надо это делать грамотно!


А как это делать?
В доке я не нашёл информации.
Доска объявлений

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
как правильно сделать redirect?
« Ответ #6 : 08 Декабря 2004, 17:44:26 »
$query->redirect("/main_page.pl");
The documentations is your friend

Оффлайн D.O.

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 81
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.liveinternet.ru/users/info101
как правильно сделать redirect?
« Ответ #7 : 13 Декабря 2004, 20:50:16 »
Цитировать
NeoNox:
$query->redirect("/main_page.pl");


В результате просто выводит страницу с пустым телом.
Доска объявлений

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
как правильно сделать redirect?
« Ответ #8 : 13 Декабря 2004, 21:23:34 »
Мда... Кто выводит страницу?
Что в логах?
Что нужно получить?
The documentations is your friend

Оффлайн D.O.

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 81
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.liveinternet.ru/users/info101
как правильно сделать redirect?
« Ответ #9 : 14 Декабря 2004, 03:15:08 »
Проблема решена.
Это было из-за того, что я печатал
print "Content-Type: text/html; charset=windows-1251\\n\\n";
перед
print("Location: http://" . $ENV{"SERVER_NAME"} . "/cgi-bin/my_script.pl\\n\\n");
Доска объявлений

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28