header в PHP, а как в перле?

12
Злыдень
На сайте с 14.01.2003
Offline
114
1280

помогите пожалуйста.

как код

if($cat == 2)

{
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: /");
exit();
}

написать на перле. Ну то есть интересует что в перле пишется вместо Header ?

Куплю ссылки с ресурсов тематика Строительство (Желательно ЯК).
Shema
На сайте с 01.12.2005
Offline
176
#1

Прежде чем выводить строку "Content-Type:...\n\n"

выводите любые хедеры просто командой print, они будут корректно расценены

Разумеется (равно как и в php), если вывод на экран уже начался, то никакие хедеры слать нельзя

Студия Design Coda (http://www.designcoda.ru/). Личные контакты: +7(903)1367564, skype:andrey.oshemkov, telegram:@oshemkov. WMID: 492025973671 (https://passport.webmoney.ru/asp/certview4.asp?wmid=492025973671), делаем и рекламируем сайты, мобильные приложения, ботов для Telegram.
Злыдень
На сайте с 14.01.2003
Offline
114
#2

нет, никакхи выводов на экран нету, просто щавтра буду выкладывать новый сайт взамен старого, вот хочу прописать по старым путям редиректы для роботов, закладок и т.д...

Shema
На сайте с 01.12.2005
Offline
176
#3
Злыдень:
нет, никакхи выводов на экран нету, просто щавтра буду выкладывать новый сайт взамен старого, вот хочу прописать по старым путям редиректы для роботов, закладок и т.д...

Я бы сделал это через mod_rewrite

1. Скорее всего будет выше производительность

2. Не надо менять код исходников

Злыдень
На сайте с 14.01.2003
Offline
114
#4

черт возбми!!! это мысль!!! спасибо!!!

Злыдень
На сайте с 14.01.2003
Offline
114
#5

хм... а вот и не получится...

некоторые страницы конечно получится и действительно проще, но.

На старом сайте был некий товар, по адресу /cgi-bin/cat.pl?id=5

а новый адрес у этого товара /index.php?id=34

Допустим...

Товаров порядка 30, правила по котором ид меняется нету, поэтому я готов руками обработать и перекинуть на новый адрес...

Может кто подскажет как это написать?

Попробовал просто принтом отдать хеадер - ошибка... Я в перле совсем не силен...

Нужно,


if($cat == 2)
{
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: /index.php?cat=8");
exit();
}

написать на перле/

Заранее благодарен.

Oniks
На сайте с 22.08.2005
Offline
176
#6

Ну зачем так мучиться?! Чем ставить огромное количество условных операторов, можно реврайтом все сделать и никакой перл не потребуется

Профессиональные услуги фотографа в Москве и области (http://www.oniks-photo.ru/) покупаю стать и ссылки с сайтов про охоту
Злыдень
На сайте с 14.01.2003
Offline
114
#7

но ведь получится сстолько же строк правил реврайта, сколько и условных операторов?

Злыдень
На сайте с 14.01.2003
Offline
114
#8

Поел, подумал, вот чего надумал.

мод реврайт мне не подходит и вот почему.

1. Сайт полностью заменяется.

2. В адресной строке у людей будет оставаться старый адрес (а мод реврайт будет отдавать новую страницу), а я хочу что бы люди видели новый адрес страницы и обновляли свои закладки.

3. Роботы, они тоже будут считать что старые страницы у меня остались, и на них просто имзменился контент. Я хочу отдать поисковикам 301 ошибку, перенаправить их на нову страницу. А через месяц, два три, когда проиндексятся новые страницы - убить старые скрипты с редиректами.

Если я неправильно мыслю - поправьте меня. Только просьба поправлять с пояснениями. Высказывания

Чем ставить огромное количество условных операторов, можно реврайтом все сделать и никакой перл не потребуется
мне мало о чем сказали.

По сути я поставил конкретную задачу, задал четкий вопрос, и хочу услышать ответ НА НЕГО, или же четкое объяснение, в чем я мыслю не так. Если кто может таки четко ответить - помогите плиз. Завтра хочу выложить новый сайт и соответственно написать редиректы (или что-то другое)...

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#9

Делайте 301 редирект на уровне mod_rewrite, добавив после правила [L,R=301].

• Контекстные ссылки с внутренних страниц навсегда (/ru/forum/370882) • Качественные сайты для заработка на контекстной рекламе и ссылках
Хелпзонович
На сайте с 15.06.2005
Offline
133
#10

Не забудьте use CGI;

if($cat == 2)

{

print redirect(

-location => "/",

-status => 301,

);

}

Вы там держитесь! Хорошего вам настроения. Здоровья.
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий