setup personalizar pages page not htaccess found forbidden error conf apache .htaccess amazon-ec2 amazon-web-services apache-config

personalizar - .htaccess no funciona apache



personalizar error 404 xampp (9)

  1. Configurar Apache mod_rewrite

    a2enmod rewrite

  2. agregue el siguiente código a /etc/apache2/sites-available/default

    AllowOverride All

  3. 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

  1. Habilita mode_rewrite usando el siguiente comando

    sudo a2enmod reescribir

Se pedirá una contraseña. Ingrese su contraseña

  1. 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.

  1. Reinicie su servidor Apache usando el siguiente comando

    sudo service apache2 restart


use RewriteBase / {su carpeta} / en su .htaccess