URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 63888
[ Назад ]

Исходное сообщение
"Тонкая настройка Apache"

Отправлено Rodriges , 04-Фев-06 00:33 
Добрый день.

Стоит Apache 2.0.46, php как модуль (Apache 2.0 Filter)в DOCUMENT_ROOT лежит файл art произвольного PHP-содержания, пусть будет такой:
$cat ./art
<?php
   print "1";
?>

набираю URL
http://domain.ru/art - Получаю ответ

Набираю
http://domain.ru/art/something - Получаю ошибку 404 и запись в ErrorLog

В настройке апача добавлена директива, призывающая принудительно обрабатывать файл как PHP.
<FilesMatch "^(art)$">
        ForceType application/x-httpd-php
</FilesMatch>

Формулировка проблемы/задачи: при получении запроса вида
http://domain.ru/art/something
не выдавать ошибку, а выполнять скрипт art.

Почему вопрос возник - переношу сайт, который работает на стороннем хостинге. У себя столкнулся вот с такой ситуацией. Просьба кто знает способы решения, просьба отписаться.


Содержание

Сообщения в этом обсуждении
"Тонкая настройка Apache"
Отправлено Slimm , 04-Фев-06 01:03 
из описания ни чего не понятно
регулярное выражение однозначно определяет выполнять как PHP только файл art, ведь ^ и $ означают начало и конец строки, something ну ни как не попадает в это правило
Ежеле хочется все файлы в каталоге art обрабатывать как PHP, то FilesMatch как может помочь в отношении каталога???

И еще не ясно как в одном месте и файл и каталог с одним именем? 8)


"Тонкая настройка Apache"
Отправлено Rodriges , 04-Фев-06 01:10 
>из описания ни чего не понятно
>регулярное выражение однозначно определяет выполнять как PHP только файл art, ведь ^
>и $ означают начало и конец строки, something ну ни как
>не попадает в это правило

Неважно. art - это файл!


>Ежеле хочется все файлы в каталоге art обрабатывать как PHP, то FilesMatch
>как может помочь в отношении каталога???

art - это файл!! через него работает сайт. То есть любой URL идет в виде
domain.ru/art/something!


>И еще не ясно как в одном месте и файл и каталог
>с одним именем? 8)

каталога нет, есть только файл.


"Тонкая настройка Apache"
Отправлено Slimm , 04-Фев-06 01:44 
бред какой-то
может я конечно чего-то не понимаю ...
а как все это связано art + / + something
как это должно работать???

и еще, а что у Вас в ErrorLog


"Тонкая настройка Apache"
Отправлено Rodriges , 04-Фев-06 02:17 
>бред какой-то
>может я конечно чего-то не понимаю ...
>а как все это связано art + / + something
>как это должно работать???
>
>и еще, а что у Вас в ErrorLog

Бред? Я тоже так думаю. Однако у меня 2 сайта таких. Клиент заказал их в агенствах. Заказ был выполнени. Оба сайта работают очень просто: любая ссылка имеет вид
file/что-то/там/еще

где file - это именно файл. То есть управление переходит в file, который уже на основе /что-то/там/еще формирует страницу.

Извиняюсь насчет ErrorLog, запись в acceslog
"GET /art/vacancies/ HTTP/1.1" 404
ошибка 404ю


"Тонкая настройка Apache"
Отправлено Stant , 05-Фев-06 16:23 
Можно использовать mod_rewrite со слудующим правилом:
RewriteRule ^art/.+$ art

Вопрос, только в том, откуда php скрипт извлекает информацию о запрошенном URL.



"Тонкая настройка Apache"
Отправлено Дениска , 06-Фев-06 08:57 
>Можно использовать mod_rewrite со слудующим правилом:
>RewriteRule ^art/.+$ art
>
>Вопрос, только в том, откуда php скрипт извлекает информацию о запрошенном URL.
>
из $_SERVER['REQUEST_URI']



"Тонкая настройка Apache"
Отправлено Rodriges , 06-Фев-06 12:35 
Решение найдено. Если кому интересно:
Нужно было всключить директиву
AcceptPathInfo On

http://httpd.apache.org/docs/2.0/mod/core.html#acceptpathinfo