Quiero configurar el AllowOverride all
Pero no sé cómo hacerlo. He encontrado el siguiente código al buscar en google y pegarlo en .htaccess
:
<Directory>
AllowOverride All
</Directory>
Pero después de pegarlo comencé a recibir "Internal Server Error"
¿Alguien puede guiarme dónde poner este código o cómo hacerlo?
<Directory>
directiva requiere un argumento de ruta.Respuestas:
En caso de que esté en Ubuntu, edite el archivo
/etc/apache2/apache2.conf
(aquí tenemos un ejemplo de/var/www
):y cambiarlo a;
luego,
Es posible que también deba hacerlo
sudo a2enmod rewrite
para habilitar la reescritura del módulo.fuente
sudo a2enmod rewrite
, luego funcionó. En Ubuntu 14.04 LTS. Espero que sea útil para alguien.IncludeOptional conf-enabled/*.conf
en la última línea de miapache2.conf
archivo. Pero parece queapache2.conf
se prioriza en su lugar.El objetivo principal de
AllowOverride
es que el administrador de los archivos de configuración principales de apache (el que se encuentra en / etc / apache2 / principalmente) decida qué parte de la configuración puede ser modificada dinámicamente por ruta por aplicación.Si no eres el administrador del servidor, dependes del nivel AllowOverride que estos administradores te permiten. Para que puedan evitar que modifique algunas configuraciones de seguridad importantes;
Si usted es el administrador principal de configuración de apache, siempre debe usar
AllowOverride None
y transferir todos los ejemplos basados en google_ que encuentre, basados en archivos .htaccess aDirectory
secciones en los archivos de configuración principales. Como un contenido .htaccess para un.htaccess
archivo/my/path/to/a/directory
es lo mismo que una<Directory /my/path/to/a/directory>
instrucción, excepto que la.htaccess
alteración dinámica de la configuración por solicitud HTTP es algo que ralentiza su servidor web. Siempre prefiera una configuración estática sin.htaccess
controles (y también evitará ataques de seguridad por.htaccess
alteraciones).Por cierto, en el ejemplo que usa
<Directory>
y esto siempre será incorrecto, las instrucciones del directorio siempre contienen una ruta, como<Directory />
o<Directory C:>
o<Directory /my/path/to/a/directory>
. Y, por supuesto, esto no se puede poner en un.htaccess
como.htaccess
es como una instrucción de directorio sino en un archivo presente en este directorio. Por supuesto que no se puede alterarAllowOverride
en una.htaccess
como esta instrucción está gestionando el nivel de seguridad de los.htaccess
archivos.fuente
Ir a
your_severpath/apache_ver/conf/
Abrir el archivohttpd.conf
en el Bloc de notas.Encuentra esta línea:
Eliminar el símbolo hash:
Luego ve a
<Directory />
y cambiar a:
Luego reinicie su servidor local.
fuente
Order allow,deny
yAllow from all
son para Apache 2.2 y anteriores. Con Apache 2.4, esas dos líneas se reemplazan porRequire all granted
como se muestra en otras respuestas.En Linux, para relajar el acceso a la raíz del documento, debe editar el siguiente archivo:
Y dependiendo del nivel de directorio al que desee relajar el acceso, debe cambiar la directiva
a
Por lo tanto, suponiendo que desea permitir el acceso a los archivos en el directorio / var / www / html, debe cambiar las siguientes líneas de:
a
fuente
Si está utilizando Linux, puede editar el código en el directorio de
ahora, aquí encuentra la línea de código como
Cambie AllowOveride None a AllowOveride All
Ahora ahora puede establecer cualquier tipo de regla en su archivo .httacess dentro de sus directorios si cualquier otro sistema operativo solo trata de encontrar el archivo httpd.conf y editarlo.
fuente
now here fine the code line kinda like # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. #Sep 11, 2013 apache - How to Set AllowOverride all - Stack Overflow stackoverflow.com/questions/18740419/how-to-set-allowoverride-all
Creo que desea configurarlo en su
httpd.conf
archivo en lugar del.htaccess
archivo.No estoy seguro de qué sistema operativo usa, pero este enlace para Ubuntu puede darle algunos consejos sobre qué hacer.
https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles
fuente
Como otros usuarios explicaron aquí sobre el uso de la directiva allowoveride, que se usa para dar permiso al uso de .htaccess. Una cosa que quiero señalar es que nunca use allowoverride todo si otros usuarios tienen acceso para escribir .htaccess en su lugar use allowoveride como para permitir ciertos módulos.
Como en
AllowOverride AuthConfig mod_rewrite
lugar dePorque un módulo como mod_mime puede representar los archivos del lado del servidor como texto sin formato.
fuente
También encuentro este problema, y encontré la solución en el paso 2 a continuación: 1. En la carpeta de apache2 habilitada para sitios, edita en el elemento Directorio configurando "AllowOverride all" (debe ser "all" no "none") 2. En el proyecto kohana en la carpeta www, cambie el nombre de "example.htaccess" a ".htaccess"
Lo hice en ubuntu. Espero que te ayude.
fuente
SuSE Linux Enterprise Server
Asegúrese de editar el archivo correcto https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_apache2_configuration.html
En tal caso
vhosts.d/*.conf
debe ser editadofuente
Además, esas respuestas correctas votadas a veces se pueden ver el mismo error debido a configuraciones diferentes y no coincidentes por
SSL
parte de las configuraciones del servidor web . (Obviamente cuando no usa el.htaccess
archivo).fuente