Pages : 1
#1 Le 06/07/2018, à 09:10
- pater
[RESOLU] htaccess en local
Bonjour à tous et pardon d'embêter avec ça
Voilà ma config apache2 php est ok et tout fonctionne, sauf l'htaccess.
J'ai suivi le wiki, cherché dans le forum, mais rien trouvé (j'ai peut-être mal cherché hein!) qui m'aide.
Mon but est de suivre le tuto suivant : https://openclassrooms.com/courses/1166 … vec-du-php
Dans apache2.conf j'ai ça
# access here, or in any related virtual host.
<Directory />
Options FollowSymLinks
AllowOverride all
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
Mon htaccess :
# Le serveur doit suivre les liens symboliques :
Options +FollowSymlinks
# Activation du module de réécriture d'URL :
RewriteEngine on
ErrorDocument 404 rewrite.php
Je précise que le htaccess fonctionne chez l'hébergeur, mais j'aimerais pouvoir faire tous mes tests en local...
Merci
Dernière modification par pater (Le 06/07/2018, à 12:56)
Hors ligne
#2 Le 06/07/2018, à 10:27
- bruno
Re : [RESOLU] htaccess en local
Bonjour,
Ton tuto est totalement obsolète…
Quelques exemples de choses du siècle dernier :
ENGINE=MyISAM DEFAULT CHARSET=latin1
On travaille en utf-8 avec InnoDB
mysql_connect('localhost', 'root', '');
On ne laisse jamais un site web se connecter à MySQl avec 'root' et la fonction mysql_connect n'existe plus.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
On travaille en HTML5
L'utilisation de $_SERVER['REDIRECT_URL'] ne me paraît vraiment pas une bonne idée… il vaut mieux utiliser REQUEST_URI qui est toujours définie.
Ceci dit, on ne touche pas au fichier apache2.conf. La configuration se fait dans les fichiers d'hôtes virtuels ou de htaccess.
Si tu veux que :
RewriteEngine on
fonctionne il faut s'assurer que le module de réécriture d'Apache est bien activé :
sudo a2enmod rewrite
#3 Le 06/07/2018, à 10:42
- pater
Re : [RESOLU] htaccess en local
Bonjour et merci de ta réponse
Bonjour,
Ton tuto est totalement obsolète…
Quelques exemples de choses du siècle dernier
Oui je suis d'accord avec toi, c'est le principe de fonctionnement que je veux mettre en place, et en effet il y a pas mal de choses à adapter et moderniser
Ceci dit, pour mon htaccess:
Module rewrite already enabled
et le RewriteEngine on est bien dedans, mais ça ne fonctionne pas...
L'URL http://127.0.0.1/~login/monsite/toto donne une erreur 500
Hors ligne
#4 Le 06/07/2018, à 11:21
- bruno
Re : [RESOLU] htaccess en local
L'erreur 500 est due soit à une erreur de configuration Apache, soit une erreur fatale dans un script php (utilisation de la fonction mysql_connect par exemple).
Il faut examiner le logs d'Apache et vérifier si tu as toujours cette erreur 500 en appelant un simple fichier HTML.
Dernière modification par bruno (Le 06/07/2018, à 11:22)
#5 Le 06/07/2018, à 11:31
- pater
Re : [RESOLU] htaccess en local
Les logs :
[Fri Jul 06 11:38:12.653709 2018] [core:alert] [pid 2738] [client 127.0.0.1:45654] /home/login/public_html/monsite/.htaccess: Options not allowed here
Ensuite le html ou php est affiché et interprété sans problème
Hors ligne
#6 Le 06/07/2018, à 12:04
- bruno
Re : [RESOLU] htaccess en local
Le message d'erreur est clair : la directive Options n'est pas autorisée dans un fichier .htacess
Note bien que ce n'est pas normal sur une configuration standard d'Apache. C'est probablement parce que tu utilises le mod user_dir et que sa configuration limite les possibilités dans un .htaccess (voir la directive AllowOverride)
#7 Le 06/07/2018, à 12:18
- pater
Re : [RESOLU] htaccess en local
et on ne peut pas le modifier?
Hors ligne
#8 Le 06/07/2018, à 12:28
- bruno
Re : [RESOLU] htaccess en local
Si tu utilises le mod userdir il faut modifier (en tant que root) le fichier /etc/apache2/mods-available/userdir.conf en remplaçant la ligne :
AllowOverride FileInfo AuthConfig Limit Indexes
par
AllowOverride all
puis relancer Apache :
sudo systemctl restart apache2
#9 Le 06/07/2018, à 12:56
- pater
Re : [RESOLU] htaccess en local
Super! Merci beaucoup ça marche
Hors ligne
Pages : 1