Tengo un servidor del servicio ec2 de Amazon que se ejecuta en linux ubuntu y he instalado apache, php y mysql. He agregado un archivo .htaccess en mi raíz de documento /var/www/html
. Ingresé este código en él: ErrorDocument 404 /var/www/html/404.php
y todavía no aparece. Seguí ingresando este comando varias veces: sudo service httpd restart
para reiniciar el servidor pero no se muestran cambios ... ¿Cómo puedo solucionarlo ... ¿Hice algo mal? ¡Gracias por adelantado!.htaccess no funciona apache
Respuesta
En primer lugar, tenga en cuenta que no es necesario reiniciar httpd para los archivos .htaccess. Los archivos .htaccess son específicamente para personas que no tienen root, es decir, no tienen acceso al archivo de configuración del servidor httpd y no pueden reiniciar el servidor. Como puede reiniciar el servidor, no necesita archivos .htaccess y puede usar la configuración del servidor principal directamente.
En segundo lugar, si se están ignorando los archivos .htaccess, debe verificar que AllowOverride esté configurado correctamente. Vea http://httpd.apache.org/docs/2.4/mod/core.html#allowoverride para más detalles. También debe asegurarse de que esté configurado en el ámbito correcto, es decir, en el bloque derecho de su configuración. Asegúrese de que está NOT editando uno en el bloque, por ejemplo.
En tercer lugar, si quiere asegurarse de que se está leyendo un archivo .htaccess, ponga la basura en él. Una línea no válida, como "LÍNEA NO VÁLIDA AQUÍ", en su archivo .htaccess, provocará un error de 500 Server cuando apunte su navegador al directorio que contiene ese archivo. Si no lo hace, entonces no tiene AllowOverride configurado correctamente.
+1 para AllowOverride parte – rikpg
+1 para colocar basura en el archivo .htaccess como herramienta de diagnóstico. – retrohacker
La basura en la programación es más útil de lo que parece. – EnKrypt
Configurar Apache mod_rewrite
a2enmod rewrite
añadir el siguiente código a
/etc/apache2/sites-available/default
AllowOverride All
Apache Restart
/etc/init.d/apache2 restart
tenga en cuenta que en Apache 2.4 la configuración los archivos en/etc/apache2/sites-available deben terminar en .conf ahora. Y tuve una confusión en mi servidor con un default.conf en/etc/apache2/sites-available y uno en/etc/apache2/ – rubo77
Gracias, en mi caso la reescritura no estaba habilitada por defecto en apache2 – Cross
ya lo sigo pasos pero no funciona en apache 2.4 lo que estoy haciendo mal = [ –
En WampServer
icono de la bandeja WampServer abierto ----> Apache ---> Módulos Apache ---> rewrite_module
Si ha intentado todo lo anterior, que son todas válidas y buenas respuestas, y su archivo htaccess no funciona o se lee, cambie la directiva en el archivo apache2.conf
. En Ubuntu, la ruta es /etc/apache2/apache2.conf
Cambie la directiva <Directory>
que apunta a sus páginas web públicas, donde reside el archivo htaccess. Cambiar de AllowOverride None
a AllowOverride All
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
que tenía el mismo problema y encontré la respuesta y explicación sobre el Ubuntu preguntar! foro https://askubuntu.com/questions/421233/enabling-htaccess-file-to-rewrite-path-not-working
O, se puede agregar en el VHost –
En realidad, solo se requiere '' AllowOverride FileInfo'' en la 3ra línea para que se lea y use el archivo '.htaccess'. '' All'' también permite anulaciones de configuración adicionales, como '.httpasswd' (que se puede habilitar individualmente usando' 'Authconfig'' en lugar de' 'All''). – Rafal
¡Muchas gracias! – simhumileco
utilice RewriteBase/{su carpeta}/en su.htaccess
Para Ubuntu,
primer lugar, ejecute este comando: -
sudo a2enmod rewrite
A continuación, editar el archivo /etc/apache2/sites-available/000-default.conf
usando nano o vim utilizando este comando: -
sudo nano /etc/apache2/sites-available/000-default.conf
Luego, en el archivo 000-default.conf
, agréguelo después de la línea DocumentRoot /var/www/html
. Si el directorio raíz html es algo distinto, entonces escribir que: -
<Directory "/var/www/html">
AllowOverride All
</Directory>
Después de hacer todo, reinicie Apache con el comando sudo service apache2 restart
Lo más probable es AllowOverride se establece en Ninguno. en la sección Directorio de apache2.conf ubicado en/etc/apache2 carpeta
Inténtelo a AllowOverride All
sólo tienes que seguir 3 pasos
Habilitar mode_rewrite usando los siguientes comandos
sudo a2enmod reescriba
Se le pedirá la contraseña. Así que introduzca su contraseña
actualización de su 000-default.conf o default.conf archivo encuentra en /etc/apache2/sites-available/directorio . no puedes editarlo directamente a fin de utilizar siguiente comando para abrir
sudo gedit /etc/apache2/sites-available/000-default.conf
O sudo gedit /etc/apache2/sites-available/default.conf
obtendrá
DocumentRoot/var/www/html
O
DocumentRoot/var/www
línea. Agregue el siguiente código después de él.
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Hacer que el usuario la ruta de la etiqueta del directorio es la misma que se muestra en el archivo.
Reinicie el servidor Apache usando los siguientes comandos
sudo service apache2 restart
En mi experiencia,/var/www/directory directive previene las directivas de la subcarpeta virtualhost. Por lo tanto, si ha probado todas las sugerencias y aún no funciona y está utilizando hosts virtuales, intente esto;
1 - Asegúrese de que tiene AllowOverride All
Directiva en /etc/apache2/sites-available/example.com.conf
2 - Comprobar directivas/var/www/Directory en /etc/apache2/apache2.conf
(posiblemente en la línea 164), que se parece;
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Si hay un cambio AllowOverride None
Directiva a AllowOverride All
o simplemente escapar de la línea
- 1. .htaccess DirectoryIndex no funciona
- 2. .htaccess no funciona en Windows
- 3. htaccess caching no funciona
- 4. Apache mod_rewrite funciona en .htaccess pero no HTTPD.CONF
- 5. Cómo depurar .htaccess RewriteRule no funciona
- 6. .htaccess de Apache env var no trabajar
- 7. .htaccess no funciona en WAMP
- 8. .htaccess rewriterule no funciona correctamente en mac
- 9. .htaccess no funciona aunque allowoverride está habilitado
- 10. El servidor Apache ignora .htaccess
- 11. El proxy inverso Apache 2.2 no funciona
- 12. subdirectorio no sea protegido por contraseña mediante .htaccess de Apache
- 13. .htaccess RewriteRule no funciona en el subdirectorio
- 14. archivo .htaccess objeto de una lectura ("Opciones" en -Indexes archivo .htaccess no funciona)
- 15. ¿Por qué no puedo deshabilitar .htaccess en Apache?
- 16. Apache .htaccess contraseña proteger con ruta relativa
- 17. .htaccess no se lee
- 18. ¿Cómo aumentar la directiva apache de apache en .htaccess?
- 19. Apache .htaccess vs httpd - ¿realmente importa?
- 20. apache, localhost no funciona en Windows 7
- 21. Apache - Restringir a IP no funciona
- 22. Apache ErrorDocument no funciona para PHP 500 error
- 23. WordPress htaccess en la raíz anula htaccess en el subdominio. La aplicación Subdominio no funciona ahora
- 24. Cómo crear un host virtual desde Apache .htaccess?
- 25. Use un subdirectorio como raíz con htaccess en Apache 1.3
- 26. ¿Cómo funciona PHP con Apache?
- 27. Apache (en OS X Lion) no está leyendo el archivo .htaccess
- 28. El registro de errores de PHP no funciona a través de .htaccess
- 29. archivo .htaccess de Apache a un web.config IIS
- 30. El uso adecuado de KeepAlive en Apache .htaccess
¿Seguro que desea asignar el error 400 'Mala request' a '/ var/www/html/404. php'? –