Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Template tool kit, Разбор ссылок 
:(
    Опции темы
tariely
Дата 25.4.2009, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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#/([^/\?]+)#; 
PM MAIL   Вверх
Usmanec
Дата 26.4.2009, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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 запускается наш скрипт который и обрабатывает данный файл.
PM MAIL   Вверх
tariely
Дата 29.4.2009, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0502 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.