personalizar - .htaccess no funciona apache
personalizar error 404 xampp (9)
Configurar Apache mod_rewrite
a2enmod rewrite
agregue el siguiente código a
/etc/apache2/sites-available/default
AllowOverride All
Reiniciar Apache
/etc/init.d/apache2 restart
Tengo un servidor del servicio AWS EC2 que se ejecuta en Linux ubuntu y he instalado apache, php y mysql.
He agregado un archivo .htaccess
en mi documento raíz /var/www/html
.
ErrorDocument 404 /var/www/html/404.php
este código en él: ErrorDocument 404 /var/www/html/404.php
y aún no aparece.
Seguí ingresando este comando varias veces: el sudo service httpd restart
para reiniciar el servidor pero no se muestran cambios ...
¿Cómo puedo solucionar esto ... Hice algo mal?
¡Gracias por adelantado!
En WampServer
Abra el icono de WampServer Tray ----> Apache ---> Apache Modules ---> rewrite_module
En mi experiencia, la directiva / var / www / directory 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 tener la directiva AllowOverride All
en /etc/apache2/sites-available/example.com.conf
2 - Verifique las directivas de directorio / var / www / en /etc/apache2/apache2.conf
(posiblemente en la línea 164), que se ve como;
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Si hay una directiva AllowOverride None
, cámbiela a AllowOverride All
o simplemente escape la línea
Lo más probable es que AllowOverride esté configurado en None. en la sección Directorio de apache2.conf ubicado en la carpeta / etc / apache2
Intente configurarlo en AllowOverride All
Para Ubuntu,
Primero, ejecuta este comando: -
sudo a2enmod rewrite
Luego, edite el archivo /etc/apache2/sites-available/000-default.conf
usando nano o vim usando 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 su directorio html raíz es algo diferente, escriba lo siguiente:
<Directory "/var/www/html">
AllowOverride All
</Directory>
Después de hacer todo, reinicie apache con el comando sudo service apache2 restart
Primero, tenga en cuenta que reiniciar httpd no es necesario 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. Consulte http://httpd.apache.org/docs/2.4/mod/core.html#allowoverride para obtener más información. También debe asegurarse de que esté configurado en el ámbito correcto, es decir, en el bloque derecho de su configuración. Asegúrate de NO estar editando el que está en el bloque, por ejemplo.
En tercer lugar, si desea asegurarse de que se está leyendo realmente un archivo .htaccess, coloque la basura en él. Una línea no válida, como "LÍNEA NO VÁLIDA AQUÍ", en su archivo .htaccess, generará 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.
Si ha intentado todo lo anterior, que son todas respuestas válidas y buenas, y su archivo htaccess no funciona o no se lee, cambie la directiva en el archivo apache2.conf
. En Ubuntu, la ruta es /etc/apache2/apache2.conf
Cambie la <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>
Tuve el mismo problema y encontré la respuesta y la explicación en Ubuntu Ask. foro https://askubuntu.com/questions/421233/enabling-htaccess-file-to-rewrite-path-not-working
Solo sigue 3 pasos
Habilita mode_rewrite usando el siguiente comando
sudo a2enmod reescribir
Se pedirá una contraseña. Ingrese su contraseña
Actualice su archivo 000-default.conf o default.conf ubicado en el directorio / etc / apache2 / sites-available / . no puedes editarlo directamente así que use el siguiente comando para abrir
sudo gedit /etc/apache2/sites-available/000-default.conf
O sudo gedit /etc/apache2/sites-available/default.conf
conseguirás
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>
Haga que el usuario la ruta de la etiqueta del directorio sea la misma que se muestra en su archivo.
Reinicie su servidor Apache usando el siguiente comando
sudo service apache2 restart
use RewriteBase / {su carpeta} / en su .htaccess