![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| tariely |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.8.2008 Репутация: нет Всего: нет |
Стоит freebsd + apache + template toolkit mod/perl 2
Как сделать разбор по ссылкам? На сайте по ссылке, допустим <a class="nav" href="/detektiv.pl">Детектив</a></div> Идет выполнение перловского скрипта detektiv.pl #use Template; my $tt2 = Template->new({ INCLUDE_PATH => '/usr/local/www/filmzones/tmpl', INTERPOLATE => 1, }) || die "$Template::ERROR\n"; my $vars={ title=>'КиноХроника', INTERPOLATE => 1, items=>['Один', 'Два', 'Три'] }; print "Content-type: text/html\n\n"; $tt2->process('detektiv.tt2', $vars) || die $tt->error(), "\n"; В связи с этим накопилось много файлов, хотелось бы их объединить в один файл. Как написать такой скрипт что бы при каждом клике выполнялся один Перловский скрипт и в этом скрипте выполнялся process тоой ссылки по которой кликнули на сайте? Через $ENV{REQUEST_URI} можно в принципе получить урезанную ссылку и направить его в процесс, как это сделать? my ($page) = $ENV{REQUEST_URI} =~ m#/([^/\?]+)#; |
|||
|
||||
| Usmanec |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 24.2.2009 Репутация: нет Всего: нет |
Немного непонял что ты конкретно хочешь, но в cgi есть такие переменные окружения как $ENV{PATH_INFO} и $ENV{'PATH_TRANSLATED'}.
К примеру мы имеем скрипт host.ru/cgi-bin/script.pl и у нас имеется папка host.ru/docs/ c файлами *.htm. Так обратившись к скрипту host.ru/cgi-bin/script.pl/docs/1.htm в переменную $ENV{PATH_INFO} запишется /docs/1.htm, а в переменную $ENV{'PATH_TRANSLATED'}, полный путь к файлу относительно к корню диска (например /home/user/host.ru/www/docs.1.htm). При этом непроверяется действительное существование данного файла. Так же в папке /docs/ можно назначить обработчик файлов *.htm это будет наш скрипт, через .htaccess. И тогда получается вобще красота, при обращении host.ru/docs/1.htm запускается наш скрипт который и обрабатывает данный файл. |
|||
|
||||
| tariely |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.8.2008 Репутация: нет Всего: нет |
Спосибо, разобрался с perl'om тепер вот а Apachem мучаюсь.
Тоесть у Apache такая вот непонятная штука происходить. Наприме если есть сайт скажем fil.ru при старте все работает fil.ru/anime.html тоже вс работает а вот если ссылка будет fil.ru/anime/mama.html то перестаються грузится картинке и style.css корневой директорией почему то становится anime вот логи "GET /anime/css/style.css HTTP/1.1" "GET /anime/htdoc/img/hmark2.jpg HTTP/1.1" Как эту байду можно настроить в Apache? |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |