Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

SetHandler и forbidden 403

14K
12 июля 2009 года
Snk
54 / / 22.03.2007
Мне надо что бы все файлы в папке "/papka/" выполнялись PHP, пишу:
 
Код:
<Directory ".../papka">
  SetHandler application/x-httpd-php
  ...
</Directory>

Файлы то выполняются, но если набрать site.com/papka кричат, что нет доступа 403 пробовал добавлять туда DirectoryIndex index.php - не помогает.. Как сделать чтоб при обращении к "/papka/" выдавался index.php, а не 403?
12
12 июля 2009 года
alekciy
3.0K / / 13.12.2005
В Directory нужно прописывать путь (лучше абсолютный) в файловой системе сервера до твоей папки со криптами, т.е. должна быть такой же, как и DocumentRoot директива.

К примеру:
 
Код:
<VirtualHost *:80>
    ServerName musik
    DocumentRoot "D:\Musik"

    <Directory "D:\Musik">
        Options Indexes
        AllowOverride All
    </Directory>

</VirtualHost>
14K
12 июля 2009 года
Snk
54 / / 22.03.2007
Я так и делаю
Код:
<VirtualHost *:80>
    ServerAdmin ...
    DocumentRoot "C:/.../site.ru"
    ServerName site.ru
    ServerAlias www.site.ru
    ErrorLog "logs/site.ru-error.log"
    CustomLog "logs/site.ru-access.log" common
    ErrorDocument 404 /404.php
   <Directory "C:/.../site.ru">
    Options Indexes
    AllowOverride All
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    SetHandler application/x-httpd-php
   </Directory>
</VirtualHost>
14K
12 июля 2009 года
Snk
54 / / 22.03.2007
кстати в error.log пишет attempt to invoke directory 'C:/***/site.ru/' as script
14K
12 июля 2009 года
Snk
54 / / 22.03.2007
Нашел на апач сайте:
Цитата:
Attempt to invoke directory as script
This occurs when Apache is configured with ScriptAlias or SetHandler and a request is made for a directory path. The problem is that under those circumstances, all resources under a certain path are considered to be executable.

To get around this and allow DirectoryIndex to work again, use AddHandler with Options ExecCGI, or SetHandler in a <Files> stanza.


Только ничего не понял, что значит "SetHandler in a <Files> stanza"? Options ExecCGI не помогает.

14K
12 июля 2009 года
Snk
54 / / 22.03.2007
squirL, могли бы Вы меня носом ткнуть что у меня не так, а то никак не могу в этом факе найти то что надо... Вот мой, неработающий код:
Код:
<VirtualHost *:80>
    ServerAdmin webmaster@***.ru
    DocumentRoot "C:/.../***.ru"
    ServerName ***.ru
    ServerAlias www.***.ru
    ErrorLog "logs/***.ru-error.log"
    CustomLog "logs/***.ru-access.log" common
    ErrorDocument 404 /404.php
   <Directory "C:/.../***.ru">  
    AllowOverride All
    Options +Indexes +ExecCGI
    SetHandler application/x-httpd-php
    DirectoryIndex index.php
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
   </Directory>
</VirtualHost>
14K
13 июля 2009 года
Snk
54 / / 22.03.2007
Ну же гуру, где вы? Уже 3 дня бьюсь не могу понять почему выдает 403? Помогите.
2
13 июля 2009 года
squirL
5.6K / / 13.08.2003
а в логи вы посмотреть не можете?
14K
13 июля 2009 года
Snk
54 / / 22.03.2007
Цитата: squirL
а в логи вы посмотреть не можете?


А вы топик читали? Я же писал в error.log пишет attempt to invoke directory 'C:/***/site.ru/' as script

353
13 июля 2009 года
Nixus
840 / / 04.01.2007
Автор, какой апач? Второй? Во втором есть такой глюк с SetHandler.
2
13 июля 2009 года
squirL
5.6K / / 13.08.2003
включите mod_php и добавьте в конфиг Apache
AddType application/x-httpd-php .php
вот мой вам совет
14K
14 июля 2009 года
Snk
54 / / 22.03.2007
Цитата: squirL
включите mod_php и добавьте в конфиг Apache
AddType application/x-httpd-php .php
вот мой вам совет


А причем тут это? Я же писал, что site.ru/index.php - работает, а site.ru/ - forbidden 403 и ошибка attempt to invoke directory as script. На всякий случай проверил: mod_php включен и в конфиге имеются строки

 
Код:
<IfModule mod_php5.c>
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php .php3
  AddType application/x-httpd-php-source .phps
</IfModule>
14K
14 июля 2009 года
Snk
54 / / 22.03.2007
Цитата: Nixus
Автор, какой апач? Второй? Во втором есть такой глюк с SetHandler.


А где можно почитать про это?

2
14 июля 2009 года
squirL
5.6K / / 13.08.2003
Options +Indexes +ExecCGI
SetHandler application/x-httpd-php
вот это нахрен уберите. и +Indexes
14K
14 июля 2009 года
Snk
54 / / 22.03.2007
Цитата: squirL
Options +Indexes +ExecCGI
SetHandler application/x-httpd-php
вот это нахрен уберите. и +Indexes


В самом начале писал: мне надо чтоб абсолютно все файлы обробатывались php.

2
14 июля 2009 года
squirL
5.6K / / 13.08.2003
назовите их все *.php и будет вам счастье.
353
14 июля 2009 года
Nixus
840 / / 04.01.2007
Snk, squirL все верно написал. Эта проблема чинится или написанием собственного обработчика или переходом на AddHandler.
14K
14 июля 2009 года
Snk
54 / / 22.03.2007
Нельзя их назвать *.php поэтому эти варианты отпадают...
Как я понял это происходит потому что DirectoryIndex перестает работать. На apache говорят, чтоб он заработал снова надо использовать SetHandler in a <Files> stanza. Но что это значит и как его так использовать нигде не написано...
2
14 июля 2009 года
squirL
5.6K / / 13.08.2003
Цитата: Snk
Нельзя их назвать *.php


почему?

14K
14 июля 2009 года
Snk
54 / / 22.03.2007
Это долгая история. Просто не получится... может конечно и получиться но уж слишком много возни...
2
14 июля 2009 года
squirL
5.6K / / 13.08.2003
даа? переименовать все файлы в каталоге в php - это адская работа? бида, бида...
353
14 июля 2009 года
Nixus
840 / / 04.01.2007
Цитата: Snk
Нельзя их назвать *.php поэтому эти варианты отпадают...
Как я понял это происходит потому что DirectoryIndex перестает работать. На apache говорят, чтоб он заработал снова надо использовать SetHandler in a <Files> stanza. Но что это значит и как его так использовать нигде не написано...



 
Код:
<Files ...>
     SetHandler ...
</Files>

Но я не уверен что из этого что-нибудь выйдет.
14K
15 июля 2009 года
Snk
54 / / 22.03.2007
Помогло! Только FilesMatch. добавил:
 
Код:
<FilesMatch ".">
     SetHandler application/x-httpd-php
</FilesMatch>


И все заработало! А то я уже думал придется тупо страдать херней, что советовал squirL...
2
15 июля 2009 года
squirL
5.6K / / 13.08.2003
йомайо... вместо нормального решения - анальный вантус... удачи.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог