Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: 404-я ошибка при загрузке обработчика php
 
 автор: Caps   (16.09.2005 в 13:05)   письмо автору
 
 

Ситуация на данный момент такая.
Есть виртуальный хост:
*********************************************
<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 никак не влияет на результат. Всегда поЯвляется та же
ошибка.
Если кому интересно, то это код из шаблонизатора Д. Котерова.

   
 
 автор: cheops   (16.09.2005 в 14:05)   письмо автору
 
   для: Caps   (16.09.2005 в 13:05)
 

А без .htaccess.txt работает?
PS Вы код с его сайта грузили?

   
 
 автор: Caps   (16.09.2005 в 17:21)   письмо автору
 
   для: 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.

   
 
 автор: worker   (16.09.2005 в 23:10)   письмо автору
 
   для: Caps   (16.09.2005 в 17:21)
 

Может у вас прописан не верный путь к TemplateHandler.php относительно дирректории скрипта который срабатывает, а может в нем чего-то не то, ведь вы слить с сайта слиили а до конца возможно не разобрались.
А может у вас хтацесс чего-то там делает, вы же не показываете, а мы мысли ваши не читаем.

   
 
 автор: Caps   (17.09.2005 в 16:10)   письмо автору
 
   для: worker   (16.09.2005 в 23:10)
 

>Может у вас прописан не верный путь к TemplateHandler.php относительно дирректории скрипта
Путь много раз проверен и перепроверен, включая слэши и регистр букв, я писал об этом в сообщении.
> а может в нем чего-то не то, ведь вы слить с сайта слиили а до конца возможно не разобрались.
Что касается TemplateHandler.php, то его содержимое и, даже наличие самого файла никак не влияет на результат. Файл не находится.
>А может у вас хтацесс чего-то там делает, вы же не показываете, а мы мысли ваши не читаем
Текст .htaccess.txt приведён полностью, без купюр.

   
 
 автор: v14   (17.09.2005 в 12:10)   письмо автору
 
   для: Caps   (16.09.2005 в 13:05)
 

- не находит путь к TemplateHandler.php
- при ошибке в файле TemplateHandler.php выдает код ошибки
пример работы [url]www.1st-attractive.com[/url]

В любом случае придется исправлять все файлы связанные с данным обработчиком. море ошибок

   
 
 автор: Caps   (17.09.2005 в 16:07)   письмо автору
 
   для: v14   (17.09.2005 в 12:10)
 

>- не находит путь к TemplateHandler.php
Так что-же всё-таки сделать, чтобы хотя бы находился?
В моём .htaccess.txt путь задан относительно DocumentRoot сервера, там где лежит index.html.
Если имена папок и файлов заданы верно, слэши стоят там, где надо, то в чём может быть проблема?
>пример работы www.1st-attractive.com
Правильно ли я понял, что эта ссылка работает под шаблонизатором?
>В любом случае придется исправлять все файлы связанные с данным обработчиком.
>море ошибок
Я довольно много времени потратил на изучение этого шаблонизатора.
Не хотелось бы, чтобы оно пропало впустую.
К сожалению, на сайте разработчика мне сообщили,только что книга "Самоучитель PHP4" , откуда взят этот код, устарела. Хотелось бы понять, этот код вообще, в принципе, работает?
Скажите, Вы работали с шаблонизатором?

   
 
 автор: v14   (17.09.2005 в 17:08)   письмо автору
 
   для: Caps   (17.09.2005 в 16:07)
 

указанный сайт работает именно под шаблонизатором.
Очень хорошая вещь!
Мой совет, чтобы все заработало запусти все на своем компе.
Для этого установи EasyPHP ( апач пхп и база) только под этой конфигурацией удалось вначале получить результат. Но как ни странно работает на трех хостингах.
Пример сайта на том же шаблонизаторе.

   
 
 автор: glsv (Дизайнер)   (18.09.2005 в 05:40)   письмо автору
 
   для: Caps   (16.09.2005 в 13:05)
 

> #Путь к файлу обработчика задан относительно DocumentRoot сервера
В данном случае, под сервером имеете ввиду сайт? Скорее всего в этом проблема. Обычно пути в htaccess пишут от корня именно сервера (не сайта). Т.е. пропишите полный путь от корня диска.

   
 
 автор: v14   (18.09.2005 в 10:39)   письмо автору
 
   для: glsv (Дизайнер)   (18.09.2005 в 05:40)
 

DocumentRoot может отличаться от пути до корня сайта.
z:/home/shop/.htaccess - Это верная запись?
/_Kernel/Template
папка _Kernel должна лежать в корневой папке сайта(домена), в той же папке
где и файл .htaccess

В этой же папке Template должны быть все остальные файлы данного шаблона
Сами страницы шаблоны в _Blanks

   
 
 автор: glsv (Дизайнер)   (18.09.2005 в 17:27)   письмо автору
 
   для: v14   (18.09.2005 в 10:39)
 

Я имел ввиду, что вот этот путь должен быть написан от корня диска

"/_Kernel/Template/TemplateHandler.php"

   
 
 автор: glsv (Дизайнер)   (18.09.2005 в 05:44)   письмо автору
 
   для: Caps   (16.09.2005 в 13:05)
 

В файле Директория_Apache/logs/error.log нечего интересного по этой проблеме не пишется?

   
 
 автор: v14   (18.09.2005 в 10:22)   письмо автору
 
   для: 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

   
 
 автор: glsv (Дизайнер)   (18.09.2005 в 17:27)   письмо автору
 
   для: v14   (18.09.2005 в 10:22)
 


File does not exist: /home/dir/_html/spti/_Kernel/Template/TemplateHandler.php

Вот где Apache пытается искать ваш файл. Экспериментируйте с путями.

   
 
 автор: Caps   (23.09.2005 в 15:33)   письмо автору
 
   для: glsv (Дизайнер)   (18.09.2005 в 17:27)
 

Благодарю всех, кто ответил.
На данном этапе проблему удалось решить путём установки последней версии Денвера.
Я пока решил остановиться на этом, не вдаваясь вглубь темы.
Если у кого есть опыт работы с шаблонизатором, буду рад обменяться
опытом и приму совет.
Что касается ошибок, то действительно, они есть.
Некоторые удалось исправить.
Сейчас борюсь с классом MysqlTable: не работает метод GetInfo().

   
 
 автор: v14   (25.09.2005 в 19:37)   письмо автору
 
   для: Caps   (23.09.2005 в 15:33)
 

up

   
 
 автор: v14   (25.09.2005 в 19:58)   письмо автору
 
   для: Caps   (23.09.2005 в 15:33)
 

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

   
 
 автор: Caps   (03.10.2005 в 15:35)   письмо автору
 
   для: 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, но не знаю, как буду настраивать хостинг.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования