Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/07/2018, à 09:10

pater

[RESOLU] htaccess en local

Bonjour à tous et pardon d'embêter avec ça sad

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

Hors ligne

#3 Le 06/07/2018, à 10:42

pater

Re : [RESOLU] htaccess en local

Bonjour et merci de ta réponse smile

Bruno a écrit :

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 smile

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)

Hors ligne

#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)

Hors ligne

#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

Hors ligne

#9 Le 06/07/2018, à 12:56

pater

Re : [RESOLU] htaccess en local

Super! Merci beaucoup ça marche smile

Hors ligne