2009-09-18 4 views
1

c'est le chemin d'URL J'utilise actuellement:en utilisant l'utilisateur convivial seo en php

/index.php?page=1&title=articles 

Je veux obtenir le chemin d'URL comme

/index/page-1/title-articles 

utilisant des URL conviviales SEO en PHP.

Et comment obtenir la valeur du "titre"? Tout le monde peut m'aider.

Répondre

2

Vous devez vous assurer deux choses:

  1. vos impressions d'application sur les nouvelles URL correctement, et
  2. votre serveur Web peut comprendre que les nouvelles URL et les récrit à votre système interne ou les réoriente à votre application et votre application fait le reste.

La première partie peut être simplement accompli en utilisant

echo '<a href="/index/page-1/title-articles"> … </a>'; 

au lieu de

echo '<a href="/index.php?page=1&title=articles"> … </a>'; 

La deuxième partie peut être réalisée soit avec des fonctionnalités de cartographie URl de votre serveur Web (la plupart des serveurs Web ont module comme Apache’s mod_rewrite). Avec mod_rewrite, ce qui suit fera le rewrite:

RewriteEngine on 
RewriteRule ^index/([^/-]+)-([^/]+)(.*) /index$3?$1=$2 [N,QSA] 
RewriteRule ^index$ index.php [L] 

La première règle extraira un paramètre à la fois et l'ajouter à la requête. La deuxième règle va enfin réécrire le chemin d'accès /index restant à /index.php.

2

Je veux obtenir le chemin d'URL comme

/index/page-1/title-articles 

Pourquoi? J'ai deux objections:

  1. index est un non-information et je doute qu'il appartient dans l'URI
  2. page-1, ainsi que title-articles semble simplement bizarre. Comme avec index, vous devriez vous demander si cette information appartient ici. Si c'est le cas, clarifiez que c'est la clé d'une paire clé-valeur. Ou supprimez-le entièrement.

Ainsi, je propose soit:

/‹article›/1 

ou

/‹article›/page/1 

ou

/‹article›/page=1 

ou

/‹article›[1] 

ou

/articles/‹article›/page/1 

ou toute combinaison de ceux-ci. (Dans ce qui précède, ‹article› est un espace réservé pour le titre réel, les autres mots sont des littéraux).