|
|
|
| Ситуация на данный момент такая.
Есть виртуальный хост:
*********************************************
<VirtualHost shop>
ServerAdmin support@myhost.ru
DocumentRoot "z:/home/shop"
AccessFileName .htaccess.txt
ServerName shop
ErrorLog logs/shop_com-error_log
CustomLog logs/shop_com-access_log common
</VirtualHost>
*********************************************
Есть .htaccess.txt:
*********************************************
#<?Inc("_Blanks")?>
#<?Uses("_PostProc")?>
#<?AddPostProcFunc("gzip_content")?>
#<?Block("DefaultGlue"," / ")?>
#<?Block("Template","default.htm")?>
# Связываем имя обработчика с конкретным файлом.
#Путь к файлу обработчика задан относительно DocumentRoot сервера
#Правильность пути много раз проверена.
Action templhandler "/_Kernel/Template/TemplateHandler.php"
# Документы этого типа мы желаем "пропускать" через наш обработчик.
AddHandler templhandler .html
IndexIgnore _*
Options -Indexes MultiViews
DirectoryIndex index.html
<FilesMatch "^_">
order deny,allow
deny from all
</FilesMatch>
*************************************************
При попытке открыть первую страничку сайта появляется 404-я ошибка.
Файл .htaccess.txt читается сервером, поскольку при том или ином изаенении содержимого
.htaccess.txt отклик сервера меняется.
Здесь, как уже, наверное ясно из листинга, идея в том, чтобы все файлы .html
обрабатываллиь обработчиком TemplateHandler.php.
Содержимое файла TemplateHandler.php никак не влияет на результат. Всегда поЯвляется та же
ошибка.
Если кому интересно, то это код из шаблонизатора Д. Котерова. | |
|
|
|
|
|
|
|
для: Caps
(16.09.2005 в 13:05)
| | А без .htaccess.txt работает?
PS Вы код с его сайта грузили? | |
|
|
|
|
|
|
|
для: cheops
(16.09.2005 в 14:05)
| | Весь код полностью с сайта http://dklab.ru
Без .htaccess.txt работает. Более того, работает и с .htaccess, когда убираю строчки , связанные с обработчиком( разумеется, исключая все его функции).
Просто, когда есть строчка:
Action templhandler "/_Kernel/Template/TemplateHandler.php", то всегда появляется 404-я ошибка.
У меня установлено: Win2000 V5.0, Apache/1.3.33 (Win32), php-4.3.10-Win32. | |
|
|
|
|
|
|
|
для: Caps
(16.09.2005 в 17:21)
| | Может у вас прописан не верный путь к TemplateHandler.php относительно дирректории скрипта который срабатывает, а может в нем чего-то не то, ведь вы слить с сайта слиили а до конца возможно не разобрались.
А может у вас хтацесс чего-то там делает, вы же не показываете, а мы мысли ваши не читаем. | |
|
|
|
|
|
|
|
для: worker
(16.09.2005 в 23:10)
| | >Может у вас прописан не верный путь к TemplateHandler.php относительно дирректории скрипта
Путь много раз проверен и перепроверен, включая слэши и регистр букв, я писал об этом в сообщении.
> а может в нем чего-то не то, ведь вы слить с сайта слиили а до конца возможно не разобрались.
Что касается TemplateHandler.php, то его содержимое и, даже наличие самого файла никак не влияет на результат. Файл не находится.
>А может у вас хтацесс чего-то там делает, вы же не показываете, а мы мысли ваши не читаем
Текст .htaccess.txt приведён полностью, без купюр. | |
|
|
|
|
|
|
|
для: Caps
(16.09.2005 в 13:05)
| | - не находит путь к TemplateHandler.php
- при ошибке в файле TemplateHandler.php выдает код ошибки
пример работы [url]www.1st-attractive.com[/url]
В любом случае придется исправлять все файлы связанные с данным обработчиком. море ошибок | |
|
|
|
|
|
|
|
для: v14
(17.09.2005 в 12:10)
| | >- не находит путь к TemplateHandler.php
Так что-же всё-таки сделать, чтобы хотя бы находился?
В моём .htaccess.txt путь задан относительно DocumentRoot сервера, там где лежит index.html.
Если имена папок и файлов заданы верно, слэши стоят там, где надо, то в чём может быть проблема?
>пример работы www.1st-attractive.com
Правильно ли я понял, что эта ссылка работает под шаблонизатором?
>В любом случае придется исправлять все файлы связанные с данным обработчиком.
>море ошибок
Я довольно много времени потратил на изучение этого шаблонизатора.
Не хотелось бы, чтобы оно пропало впустую.
К сожалению, на сайте разработчика мне сообщили,только что книга "Самоучитель PHP4" , откуда взят этот код, устарела. Хотелось бы понять, этот код вообще, в принципе, работает?
Скажите, Вы работали с шаблонизатором? | |
|
|
|
|
|
|
|
для: Caps
(17.09.2005 в 16:07)
| | указанный сайт работает именно под шаблонизатором.
Очень хорошая вещь!
Мой совет, чтобы все заработало запусти все на своем компе.
Для этого установи EasyPHP ( апач пхп и база) только под этой конфигурацией удалось вначале получить результат. Но как ни странно работает на трех хостингах.
Пример сайта на том же шаблонизаторе. | |
|
|
|
|
|
|
|
для: Caps
(16.09.2005 в 13:05)
| | > #Путь к файлу обработчика задан относительно DocumentRoot сервера
В данном случае, под сервером имеете ввиду сайт? Скорее всего в этом проблема. Обычно пути в htaccess пишут от корня именно сервера (не сайта). Т.е. пропишите полный путь от корня диска. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(18.09.2005 в 05:40)
| | DocumentRoot может отличаться от пути до корня сайта.
z:/home/shop/.htaccess - Это верная запись?
/_Kernel/Template
папка _Kernel должна лежать в корневой папке сайта(домена), в той же папке
где и файл .htaccess
В этой же папке Template должны быть все остальные файлы данного шаблона
Сами страницы шаблоны в _Blanks | |
|
|
|
|
|
|
|
для: v14
(18.09.2005 в 10:39)
| | Я имел ввиду, что вот этот путь должен быть написан от корня диска
"/_Kernel/Template/TemplateHandler.php"
|
| |
|
|
|
|
|
|
|
для: Caps
(16.09.2005 в 13:05)
| | В файле Директория_Apache/logs/error.log нечего интересного по этой проблеме не пишется? | |
|
|
|
|
|
|
|
для: Caps
(16.09.2005 в 13:05)
| | Кстати пишется
[Sun Sep 18 08:40:42 2005] [error] [client 64.21.66.176] File does not exist: /home/dir/_html/spti/_Kernel/Template/TemplateHandler.php | |
|
|
|
|
|
|
|
для: v14
(18.09.2005 в 10:22)
| |
File does not exist: /home/dir/_html/spti/_Kernel/Template/TemplateHandler.php
|
Вот где Apache пытается искать ваш файл. Экспериментируйте с путями. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(18.09.2005 в 17:27)
| | Благодарю всех, кто ответил.
На данном этапе проблему удалось решить путём установки последней версии Денвера.
Я пока решил остановиться на этом, не вдаваясь вглубь темы.
Если у кого есть опыт работы с шаблонизатором, буду рад обменяться
опытом и приму совет.
Что касается ошибок, то действительно, они есть.
Некоторые удалось исправить.
Сейчас борюсь с классом MysqlTable: не работает метод GetInfo(). | |
|
|
|
|
|
|
|
для: Caps
(23.09.2005 в 15:33)
| | up | |
|
|
|
|
|
|
|
для: Caps
(23.09.2005 в 15:33)
| | почему ты решил, что не работает именно этод метод?
в нем ошибок не было.
для начало проверь, содается ли таблица, с теми полями, которые ты задал
И еще раз, при настройке под денвер, потом будут проблемы с переносом на хостинг.
поставь Apach из архива EasyPhp | |
|
|
|
|
|
|
|
для: v14
(25.09.2005 в 19:58)
| | >почему ты решил, что не работает именно этод метод?
>в нем ошибок не было.
С методом GetInfo() проблема была в том, что все данные необходимо
представлять в формате массива, иначе не получалось их извлечь.
Например, листинг, приведённый в Самоучителе PHP4, содержит
такую строчку:
$t->SetInfo("Data");
В таком представлении строки:
$Info=$t->GetInfo();
echo"<br><strong>$Info</strong><br>";
или
var_dump($Info);
дадут Array()
А в случае:
$Inf["a"]=@$Inf["a"]+1;
$Inf["b"]=@$Inf["b"]+10;
echo $Inf["a"]," ",$Inf["b"],"<br>";
$t->SetInfo($Inf);
всё отображается как надо.
Но это не главное.
На данный момент снова появились проблемы с шаблонизатором.
После переноса на хостинг тестового сайта при обращении к http://test.mydomain.ru
получаю ошибку:
Not Found
The requested URL /_Kernel/Template/TemplateHandler.php/index.html was not found on this server.
По всей видимости TemplateHandler.php воспринимается как папка.
И, последнее. Был неприятно удивлён неожиданным поведением
локального сервера: когда набираю http://shop/index.html,
то сайт загружается нормально, но стоит набрать http://shop
грузится только то, что содержится в шаблоне , а все выводы блоков
просто игнорируются! Вроде с самого начала такого не наблюдалось.
На всякий случай, привожу .htaccess:
**************************************************************
#<?Inc("_Blanks")?>
#<?Uses("_PostProc")?>
#<?AddPostProcFunc("gzip_content")?>
#<?Block("DefaultGlue"," || ")?>
#<?Block("Template","default.htm")?>
#<?Block("Title","shop")?>
# Связываем имя обработчика с конкретным файлом.
Action templhandler "/_Kernel/Template/TemplateHandler.php"
#Action templhandler "/TemplateHandler.php"
# Документы этого типа мы желаем "пропускать" через наш обработчик.
AddHandler templhandler .html
IndexIgnore _*
Options -Indexes MultiViews
DirectoryIndex index.html
<FilesMatch "^_">
order deny,allow
deny from all
</FilesMatch>
*******************************************************************
Попробую, наверное EasyPhp, но не знаю, как буду настраивать хостинг. | |
|
|
|