Вопрос

Это противоположная проблема большинству о которых я читал.Я использую Ubuntu 8.04 на экземпляре Amazon с Apache 2.2.8 и не могу понять, почему установка AllowOverride на None для root не мешает включению моего файла .htaccess.

У меня есть подкаталог с hello.py и файлом .htaccess.Когда я просматриваю файл, он отлично работает с modpython, обслуживающим файл.Если я помещу какой-то мусор в .htaccess, я получу ошибку сервера, поэтому я знаю, что файл .htaccess используется.Кроме того, если я удалю файл .htaccess, hello.py больше не будет сервером с помощью modpython - вместо этого браузер попытается его открыть.

На одном из моих доступных сайтов (ссылка на сайты с поддержкой) у меня есть «AllowOverride None» для корневого каталога.Я думал, что это предотвратит включение .htaccess из корня и всех его подкаталогов, что должно привести к тому, что hello.py не будет обслуживаться mod_python.Тем не менее, он по-прежнему обслуживается нормально, и я могу проверить, включен ли .htaccess, потому что, когда я его изменяю, я вижу результаты в своем браузере.

Возможно, я чего-то не понимаю в своем файле с поддержкой сайтов.Это файл, который я использую:

NameVirtualHost *:8080 
<VirtualHost *:8080>
<Directory />
AllowOverride None
</Directory>
</VirtualHost>

Спасибо за любую помощь.

Это было полезно?

Решение

Причина, по которой файл не обслуживается через mod_python при удалении .htaccess, заключается в том, что в нем находится настройка mod_python.Если вы переместите этот материал в файл, доступный вашим сайтам, вы сможете удалить .htaccess, закрыть глаза на проблему и положить этому конец.

Если вас это не удовлетворяет, то почему вообще читается .htacess, я не могу сказать.Вы правы, что AllowOverride None должен запретить чтение файла.Рассматривали ли вы возможность того, что вы что-то напутали при добавлении виртуального сайта?Попробуйте добавить в конфигурацию немного мусора и посмотреть, будет ли он жаловаться, просто чтобы убедиться, что он вообще читается.

Другие советы

AllowOverride разрешено только в <Directory>-разделы, значит вы все сделали правильно.

Одна из проблем, с которой вы можете столкнуться, заключается в том, что другая (суб-)<Directory>- набор секций AllowOverride к чему-то иному, чем None.Это отменит настройки для этих подкаталогов.я использую

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride AuthConfig 
    Order allow,deny
    allow from all
</Directory>

И в /var/www (мой документ) Я могу использовать .htaccessэс.

Причина по которой mod_python больше не работает, если вы удалите свой .htaccess в том, что mod_python настройка обычно находится в .htaccess файлы.

Если вам нужна дополнительная информация, пришлите нам свою конфигурацию.

ПС:Фактически, в документации, указанной выше, говорится, что вы должны никогда набор AllowOverride к чему-то нет None в <Directory />.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top