url rewriting besoin de précisions

WRInaute discret
moi, pour mon site, je veux transformer l'url :
Code:
http://www.example.fr/arcachon/restaura ... sto&page=1

en
Citation:
http://www.example.fr/arcachon/restaura ... sto-1.html



Pour cela, j'ai inséré dans mon .htaccess qui se trouve a la racine du site,le code :
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^arcachon/restaurant/([0-9]+)-([0-9]+)-([0-9]+)\.html$ /arcachon/restaurant-arcachon.php?nomville=$1&req=$2&page=$3 [L]


En faisant cela, j'ai l'erreur 404 retourné. Et cela car je sépare les données par des "-".

Si je sépare les données par des "/ ", il ne me retourne pas l'erreur 404. En revanche, Ma page est completement déroutée car les liens vers les images etc sont nazes car ils pointent vers des répertoires virtuels.

Faut-il créer ces répertoires virtuels? J'ai lu qu'il fallait insérer un balise <base ......? Faut-il changer les chemins d'accès aux images etc... ?

Moi je préfererais des "-".

Si j'ai fais une grosse bourde et que vous pouvez m'aider .... je suis toute ouïe !

MERCI
 
WRInaute impliqué
Essaye plutot ceci:
RewriteEngine on
RewriteRule ^arcachon/restaurant/([^-/]+)-([^-/]+)-([0-9]+)\.html$ /arcachon/restaurant-arcachon.php?nomville=$1&req=$2&page=$3 [L]

En sachant que ton nom de ville peut être tout sauf - et /, de meme pour la req.
Enfin pour le chemin des images, tu as deux possibilités:
-soit mettre le chemin absolu (http:...)
-soit mettre la balise base href....
 
WRInaute discret
Merci pour l'aide! :wink:

D'apres mon code, j'ai RewriteRule ^arcachon/restaurant/([^-/]+)-([^-/]+)-([0-9]+)\.html$ .....

Est-ce un probleme si le repertoire restaurant n'existe pas :roll: ?
 
WRInaute discret
En fait, si je comprends bien, il faut que je refaconne tout mon site en créant les répertoire et en déplacant mes pages php dans ces nouveaux repertoires :?
 
WRInaute impliqué
non, tu n´a pas besoin de créer la directorie. Tu peux même récupérer le répertoire pour t´en servir comme variable:

Mettons que tu range tout de la sorte:
ville/type/numero de page.html

Tu as juste besoin d´un seul fichier qui traite toute les possibilités:

RewriteRule ^([^/]+)/([^/]+)/([0-9]+)\.html$ le-script.php?nomville=$1&req=$2&page=$3 [L]

A mettre à la racine
 
WRInaute discret
Merci correiaj pour ton aide, je commence à y voir un peu plus clair ! 8)

En revanche, on est d'accord que je dois changer mes pages originales pour rendre les nouvelles compatibles avec l'url rewriting

Dur dur l'url rewriting :twisted:
 
WRInaute discret
Quand je remplace, dans mon exemple le nomville Arcachon par une ville avec nom composé comme Lege-Cap-Ferret, j'ai une erreur 404 à l'arrivée, comme si ce que j'ai mis dans mon htaccess ne passait plus:
Code:
RewriteRule ^bassin-arcachon/restaurant/([^-]*)-([^-]*)-([^-]*)\.html$ /arcachon/restaurant-arcachon.php?nomville=$1&req=$2&page=$3 [L]

:cry: :cry: :cry:
 
WRInaute discret
exact !!!

RewriteRule ^bassin-arcachon/restaurant/([^/]*)/([^/]*)/([^/]*)\.html$ /arcachon/restaurant-arcachon.php?nomville=$1&req=$2&page=$3 [L]

Et ca marche maintenant ! Excellent !!

MERCI
 
Discussions similaires
Haut