Pregunta

Este es el problema opuesto de la mayoría sobre el que he leído. Estoy ejecutando Ubuntu 8.04 en una instancia de Amazon con Apache 2.2.8 y no puedo entender por qué establecer AllowOverride en None para root no impide que se incluya mi archivo .htaccess.

Tengo un subdirectorio con hello.py y un archivo .htaccess. Cuando busco el archivo, funciona bien con modpython que sirve el archivo. Si pongo algo de basura en .htaccess obtengo un error de servidor, así que sé que se está utilizando el archivo .htaccess. Además, si elimino el archivo .htaccess, hello.py ya no es servidor de modpython, sino que el navegador intenta abrirlo.

En uno de mis sitios disponibles (vinculado en sitios habilitados), tengo " AllowOverride None " para el directorio raíz. Pensé que esto evitaría que .htaccess se incluyera desde la raíz y todos sus subdirectorios, lo que debería hacer que hello.py no sea servido por mod_python. Sin embargo, se sigue sirviendo bien y puedo probar que .htaccess todavía se incluye porque cuando lo modifico, veo los resultados en mi navegador.

Tal vez hay algo que no entiendo sobre mi archivo en sitios habilitados. Este es el archivo que estoy usando:

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

Gracias por cualquier ayuda.

¿Fue útil?

Solución

La razón por la que el archivo no se sirve a través de mod_python cuando elimina .htaccess es porque la configuración de mod_python se encuentra en él. Si mueve esas cosas al archivo disponible en sus sitios, puede eliminar .htaccess, hacer la vista gorda ante el problema y llamarlo un día.

Si eso no te satisface, entonces no sé por qué se está leyendo .htacess. Tiene razón en que AllowOverride None debería evitar que se lea el archivo. ¿Ha considerado la posibilidad de que haya arruinado algo al agregar el sitio virtual? Intente arrojar algo de basura en la configuración y ver si se queja, solo para asegurarse de que se está leyendo en absoluto.

Otros consejos

AllowOverride solo está permitido en <= > -secciones, así que has hecho todo bien.

Un problema que podría tener es que otras (sub -) <Directory> - secciones establecen None en algo diferente a /var/www. Eso anulará la configuración de estos subdirectorios. Yo uso

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

y en .htaccess (mi docroot) puedo usar mod_python es.

La razón por la cual <Directory /> ya no funciona si elimina su <=> es que la configuración de <=> generalmente está en <=> archivos.

Si necesita más información, envíenos su configuración.

PD: De hecho, la documentación vinculada anteriormente dice que nunca debe establecer <=> en algo que no sea <=> en <=>.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top