URL rewriting

Résolu/Fermé
Thaloum Messages postés 7 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 22 février 2009 - 18 févr. 2009 à 06:16
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 - 22 févr. 2009 à 14:50
Bonjour,

j'ai un problème d'url rewriting sur mon serveur local:

mon serveur Apache est bien configuré pour ça (un script avec phpinfo() affiche bien mod_rewrite dans Loaded Modules)

A la racine de mon serveur j'ai créé 2 fichiers:
cible.html
.htaccess

Voici le contenu du fichier .htaccess:
RewriteEngine On
RewriteBase /
RewriteRule ^cherche\.html$ cible.html [QSA,L]

Lorsque je tape l'adresse http://localhost/cherche.html dans mon navigateur je ne suis pas redirigé sur cible.html. Une erreur 404 est affichée: The requested URL /cherche.html was not found on this server.

J'ai bien évidemment cherché sur différents forums et fais plusieurs essais mais mon problème n'est pas résolu et là maintenant je câle...

Merci de votre aide!

13 réponses

avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
18 févr. 2009 à 06:59
Bonjour.

Je viens de tester ça en local et il y a (plutot il y avait) un problème que j'ai résolu en rétirant : RewriteBase /

Essayes sans cette ligne et dis-moi le résultat.
0
Thaloum Messages postés 7 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 22 février 2009
18 févr. 2009 à 12:52
Merci avion-f16 d'avoir répondu aussi vite!

j'ai essayé ce que tu m'as recommandé de faire mais malheureusement ça n'a rien changé :(
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
18 févr. 2009 à 14:15
Ok.

Fait 'a2enmod rewrite' en console (et en root) puis redémarre le serveur en faisant : /etc/init.d/apache2 restart
0
Thaloum Messages postés 7 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 22 février 2009
18 févr. 2009 à 19:34
# a2enmod rewrite
This module is already enabled!
# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)... waiting .

Et malheureusement j'ai toujours le même problème :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
18 févr. 2009 à 20:06
Le .htaccess est dans le même dossier que cherche.html et cible.html ?
0
Thaloum Messages postés 7 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 22 février 2009
18 févr. 2009 à 21:21
cherche.html n'existe pas... puisque je cherche à faire une redirection vers cible.html...
cible.html et .htaccess sont directement à la racine du serveur (/var/www)...
et dans apache2.conf j'ai bien la directive:
AccessFileName .htaccess

à l'aide please!
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
19 févr. 2009 à 07:28
Si c'est juste pour une redirection, crées la page cherche.php et mets un entête PHP pour rediriger vers cible.php :
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: cible.html);
?>

La première ligne permet de dire aux moteurs de recherche que la page cherche.php est maintenant à la place de cible.html
0
Thaloum Messages postés 7 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 22 février 2009
19 févr. 2009 à 21:06
En fait j'avais (et j'ai toujours) l'intention de faire un site avec Joomla! et d'utiliser les options SEF+mod_rewrite. Quand j'ai vu que ça ne fonctionnait pas j'ai donc essayé "d'isoler le problème" en testant le mod_rewrite avec simplement 2 fichiers (cherche.html + .htaccess) pour savoir si c'était un problème de Joomla!
Actuellement je suis sûr que ça ne vient pas de Joomla! et je me penche donc sur un éventuel problème d'Apache... ou d'autre chose...
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
19 févr. 2009 à 23:36
Ah ok.

Pour détecter si le .htaccess est bien pris en compte, essaye ceci :

DocumentError 404 erreur-404.html

Crées biensur erreur-404.html et mais n'importe quoi comme nom de page dans la barre d'adresse.

Si ça affiche le contenu, le problème vient du module Url Rewrite

Si ça affiche autre chose que le contenu de erreur-404.html, c'est que le .htaccess n'est pas pris en compte.

On verra quand j'aurais eu ta réponse (si ça fonctionne ou pas).
0
Thaloum Messages postés 7 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 22 février 2009
21 févr. 2009 à 09:02
Apparemment c'est le .htaccess qui n'est pas pris en compte...
alors que j'ai la directive
AccessFileName .htaccess
0
Thaloum Messages postés 7 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 22 février 2009
22 févr. 2009 à 12:23
Solution trouvée grâce à la directive AllowOverride:
<VirtualHost *>
	...
	<Directory /var/www>
		Options FollowSymLinks
		AllowOverride all
	</Directory>
	...
</VirtualHost>

Merci à toi avion-f16
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
22 févr. 2009 à 14:48
C'était ce que j'allais te dire de faire si DocumentError 404 ne fonctionnait pas (je croyais que tu l'avais déjà fais).
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
22 févr. 2009 à 14:50
C'était ce que j'allais te dire de faire si DocumentError 404 ne fonctionnait pas (je croyais que tu l'avais déjà fais).
0