Xpoint
   [напомнить пароль]

301 Moved Permanently

Метки: [без меток]
2012-02-24 01:27:32 [обр] Andrej[досье]

У хостинга нет поддержки .htaccess и приходится извращаться подобным способом
Пример на php:

if(substr($_SERVER['HTTP_HOST'], 0, 4) != 'www.'){
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://"."www.".$_SERVER['HTTP_HOST'].($_SERVER['QUERY_STRING']?('?'.$_SERVER['QUERY_STRING']):''));
    exit();
}

Тоесть идет редирект с страниц без www на страницы с www
Подскажите пожалуйста как тоже самое сделать на Perl?

спустя 1 час 58 минут [обр] Евгений Седов aka KPbIC(38/176)[досье]
спустя 3 минуты [обр] Andrej[досье]
А подробней можно пожалуйста? Для чайников.
спустя 6 часов [обр] Jared(0/26)[досье]

Andrej[досье] RTFM чтоли. Это легко гуглится.

print "Status: 301 Moved Permanently\n";
print "Location: http://ya.ru\n\n";

Евгений Седов aka KPbIC[досье], вы шутите так?

спустя 1 час 19 минут [обр] Andrej[досье]
Ну я ведь не такой пример показал на php.
спустя 27 минут [обр] Евгений Седов aka KPbIC(38/176)[досье]
Если у вас CGI.pm, то посмотрите документацию к CGI.pm, будет непонятно, разжуем.
спустя 3 часа 50 минут [обр] Jared(0/26)[досье]

Кстати, Евгений Седов aka KPbIC[досье] прав.
В случае, если у вас CGI, то на пальцах делается как в моем примере. То есть на стандартный вывод выдается необязательный Status: ... \n, заголовки через перевод строки и двойной перевод строки перед контентом. Так работает CGI. Абсолютно аналогично должна выводить через CGI любая программа, вне зависимости от того, на чем она написана. Если хочется (и правильно делается) все красиво - CGI.pm или аналоги. В вашем пхп такое уже встроено.
Если у вас, скажем, mod_perl, то на этот счет тоже есть доки.

Ну и так, баловство:

#!/usr/bin/perl
use strict;
sub header{print shift; print "\n";}

my %_SERVER = %ENV;
if(substr($_SERVER{'HTTP_HOST'}, 0, 4) != 'www.'){
    header("301 Moved Permanently");
    header("Location: http://"."www.".$_SERVER{'HTTP_HOST'}.($_SERVER{'QUERY_STRING'}?('?'.$_SERVER{'QUERY_STRING'}):''));
    exit();
}
Powered by POEM™ Engine Copyright © 2002-2005