Pages : 1
#1 Le 17/04/2019, à 15:54
- Goutte gotti
.htaccess sur Apache2.4.29(Ubuntu) ne fonctionne pas
Bonjour à tous, merci à ceux qui pourront m'aider.
Mon serveur AWS Apache2.4.29(Ubuntu) n'a pas l'air de lire les fichiers .htaccess files bien que j'ai activé le module rewrite (present in mods-enabled directory),
sudo a2enmod rewrite
Module rewrite already enabled
j'ai essayé cette solution :
https://superuser.com/questions/244245/ … w-symlinks
mais le résultat est une erreur 404
.htaccess dans var/www/html/testhtaccess :
Options +FollowSymlinks
Option Indexes
RewriteEngine on
RewriteRule ^nexistepas.html$ trouve.html [L]
/etc/apache2/apache2.conf (détail)
# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the AllowOverride
# directive.
#
AccessFileName .htaccess
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
OOO-default.conf dans apache2/sites-enabled
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port t$
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
Quand je vais sur myserveradress/testhtaccess/nexistepas.html, j'ai une erreur 404. Je pense que c'est l'option FollowSymlinks qui n'est pas activé mais je ne suis pas très sûr de moi.
J'ai également essayé ça dans apache2.conf
<Directory /var/www/html/testhtaccess>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
Et maintenant l'erreur est 500.
Merci si vous pouvez m'aider.
Hors ligne
#2 Le 17/04/2019, à 16:18
- krodelabestiole
Re : .htaccess sur Apache2.4.29(Ubuntu) ne fonctionne pas
AllowOverride None
https://doc.ubuntu-fr.org/apache2#htaccess
J'ai également essayé ça dans apache2.conf
<Directory /var/www/html/testhtaccess> Options Indexes FollowSymLinks AllowOverride All Order allow,deny allow from all Require all granted </Directory>
Et maintenant l'erreur est 500.
il y a un truc qui ne plaît pas à ton serveur dans ton .htaccess
peut-être Options Indexes qui n'a pas de sens, ou plus probablement le "Option" au singulier. c'est Options +Indexes ou Options -Indexes et tu peux le mettre sur une ligne :
Options +FollowSymlinks +Indexes
https://doc.ubuntu-fr.org/apache2#index
(tu es sûr d'avoir besoin de ces règles ? - sûrement pas, d'autant qu'elles sont en plus définies dans ton virtualhost...)
Dernière modification par krodelabestiole (Le 17/04/2019, à 16:19)
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#3 Le 17/04/2019, à 17:39
- Goutte gotti
Re : .htaccess sur Apache2.4.29(Ubuntu) ne fonctionne pas
Je suis encore débutant en regex, excuse moi si je ne comprends pas tout.(en fait j'ai commencé aujourdhui :s)
J'ai essayé ta solution et ça marche.
Malheureusement ce n'était que le fichier test et ça ne fonctionne pas avec mon site et le code suivant :
# Si le serveur Apache a le module de ré-écriture d'URL activé
<IfModule mod_rewrite.c>
# On suit les liens symboliques
Options +FollowSymlinks +Indexes
#On active la réécriture d'URL (URL Rewriting)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#ex avec index.php
RewriteRule (.*) index.php/$1 [L]
# Autre exemple avec l'adresse : dnspublic.com
RewriteRule ^dnspublic.com$ /decouvrez [L]
</IfModule>
Dernière modification par Goutte gotti (Le 17/04/2019, à 18:11)
Hors ligne
#4 Le 17/04/2019, à 18:15
- krodelabestiole
Re : .htaccess sur Apache2.4.29(Ubuntu) ne fonctionne pas
[L] ça veut dire que c'est la dernière ligne à prendre en compte. donc ta ligne
RewriteRule ^dnspublic.com$ /decouvrez [L]
après
RewriteRule (.*) index.php/$1 [L]
ne sera jamais prise en compte.
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#5 Le 17/04/2019, à 18:22
- Goutte gotti
Re : .htaccess sur Apache2.4.29(Ubuntu) ne fonctionne pas
Oui j'ai corrigé ça. En fait j'ai l'impression que le problèmes viens de mon framework php ...
Désolé, j'espère que je ne t'ai pas fait perdre ton temps.
Hors ligne