Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Путь, который был на самом деле запрошен клиентом, как обычно, доступен через переменную REQUEST_URI.
Эта возможность находит самые разные применения. Например, вы можете хранить все документы в кодировке КОИ-8, и их CP-1251-модификации создавать «на лету», используя виртуальные пути вида /cgi-bin/koi2win.cgi/... Единственное, что может доставить вам хлопоты – для реализации такого подхода потребуется все перекрёстные ссылки в документах делать относительными, а все адреса графических и мультимедийных объектов, CSS-, JS-компонент делать абсолютными. В противном случае вам придётся сделать сценарий koi2win.cgi чуть умнее, чем просто перекодировщик: он должен будет правильно (без искажений) передавать файлы, не являющиеся HTML-документами и не требующие перекодировки, что, впрочем, не так уж сложно реализовать.
Другое применение – хранение в виртуальном пути некой информации (например, идентификатора сессии). Это очень удобно. Для сценария, выполняемого на сервере, виртуальный путь принципиально ничем не отличается от строки запроса. Браузер же рассматривает его просто как путь, нисколько не ощущая его виртуальности. Следуя по относительным ссылкам, браузер сохраняет путь (или его часть).
Пример такого сценария я и хочу привести:
#!/usr/bin/perl
use strict;
my ($path, $script) = @ENV{qw/PATH_INFO SCRIPT_NAME/};
my ($color, $file) = $path=~m|/([^/]+)/([^/]+)$|;
my $html_list='';
foreach (1..5) {
$html_list .= <<"TEXT";
<li><a href="$_.html">$_.html</a></li>
TEXT
}
print <<"TEXT";
Content-Type: text/html
<html>