2011-02-02 5 views
1

Dans mon site Web, j'ai un formulaire à partir duquel les utilisateurs peuvent choisir de rechercher un titre spécifique dans la base de données de nouvelles. Ils peuvent choisir la rubrique principale (par exemple Businnes) et subrubrique (par exemple Local) et ensuite entrer une chaîne à rechercher. Après avoir envoyé le formulaire, la page Web renvoie l'information demandée et l'URL ressemble à ceci.seo friendly url`s - comment?

foo.bar/1001/234/ 

où 1001 est id Businnes et 234 est id de la section locale

Comment faire id`s à remplacer par des noms pertinents?

foo.bar/Businnes/Local/ 
+0

Est-ce que votre site prend déjà en charge foo.bar/Businnes/Local/ noms? –

Répondre

0

Cela peut être fait en utilisant apache/htaccess/mod_rewrite, puis par PHP

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php 

De là, vous devez utiliser $_SERVER['REQUEST_URI'] et analyser les données dont vous avez besoin.

La première ligne active le moteur de réécriture.

La seconde 3 lignes dit, if the requested file or directory does not exist, send the request to index.php

Vous pouvez simplement exploser le $_SERVER['REQUEST_URI'] pour obtenir les parties des données dont vous avez besoin, pas regex nécessaire.

0

Générer un nom de réécriture pour chaque enregistrement de Zour (peut être unique et apostrofs, espaces, etc. gratuit) - utilisation regexp pour le nettoyage