2013-04-12 7 views
0

Je travaille sur un petit système qui permet de naviguer facilement dans les pages. Là où j'ai des problèmes, c'est la structure de l'URL - je voudrais éviter d'avoir des paramètres inutiles dans mon URL pour aucune valeur SEO.Pages dynamiques et URL

Jusqu'à présent, je travaille avec des structures de pages comme ceci:

http://www.example.com/pages.php?id=3 

Cependant, je voudrais créer dynamiquement une structure où mon lien est plus SEO friendly, mais où je peux encore interroger mon base de données pour la page appropriée.

En ce moment, c'est ma structure de pages (très simplifié):

id | url   | title 
------------------------------------- 
1 | my-first-page | My first page 
2 | my-second-page | My second page 
3 | my-third-page | My third page 

Et ainsi de suite.

Existe-t-il un moyen d'interroger la "ma-première page" de "http://example.com/my-first-page"?

Je sais que la fonction $ _GET me permet d'obtenir l'identifiant de la page (dans le cas 3) à partir d'un lien similaire à "http://www.example.com/pages.php?id=3", mais ceci est aussi loin que mes connaissances actuelles s'étendent.

Quelqu'un peut-il me diriger dans la bonne direction?

Merci!

+0

Copie possible de [URL CLEAN Apache Rewrite?] (Http://stackoverflow.com/questions/14176618/apache-rewrite-clean-url) – Jakub

+0

Recherchez les modules de réécriture mod_rewrite ou IIS en fonction de votre serveur. – Yellowledbet

Répondre

0

Jetez un oeil sur htAccess structure (le tutoriel d'Apache est here).

En fait, vous travaillerez toujours avec le $_GET mais, avec l'utilisation de RewriteRule, vous pouvez étendre cette fonction et la rendre plus conviviale comme vous le souhaitez.

+0

Merci, je vais regarder dans cela. Je ne regardais pas au bon endroit, pas étonnant que je ne pouvais pas le faire fonctionner! – davewoodhall

0

quelque chose comme ça dans votre .htaccess

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^(.+)$ pages.php?id=$1 [QSA,L] 

alors si votre lien était pages.php/1, il équivaudrait à pages.php? Id = 1

0

Je suis sûr que la façon WordPress le fait, c'est qu'il redirige tout le trafic vers une seule URL (un routeur) en utilisant .htaccess, qui regarde alors $_SERVER["REQUEST_URI"] et charge la bonne page que l'utilisateur a demandé.