url rewriting besoin de précisions

evets

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
 

correiaj

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....
 

evets

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: ?
 

evets

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 :?
 

correiaj

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
 

evets

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:
 

evets

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:
 

evets

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