2010-08-17 4 views
0

J'ai du mal à vrai mod_rewrite, et a obtenu une aide à la création d'un RewriteRule d'avoir des urls simples pour notre siteModifier RewriteRule pour permettre le titre dans la compréhension URL

RewriteRule ^news/([a-zA-Z0-9_-]+)$ /news/$1/ [R] 
RewriteRule ^news/([a-zA-Z0-9_-]+)/$ news/show.php?id=$1 

Alors quelqu'un peut visiter site.com/news/700/et l'url leur ressemblera, mais envoie la demande à notre serveur avec /news/show.php?=700 pour sortir l'article.

Je veux inclure le titre de l'article dans l'url, juste pour le rendre plus convivial lorsque quelqu'un voit un lien vers notre site.

site.com/news/700/heres-our-important-title

Quelqu'un peut-il me faire savoir ce que je dois changer pour que cela se produise si le code fonctionne toujours correctement? Donc une url peut avoir ce texte supplémentaire à la fin, mais elle ne sortira que le numéro d'id après/news /.

Merci.

Répondre

1

Vous avez juste besoin de mettre à jour votre deuxième RewriteRule pour autoriser (facultativement) le titre à la fin. En outre, un peu comme la tenue de la maison, la première règle doit être modifiée pour une raison sans rapport avec:

RewriteRule ^news/([a-zA-Z0-9_-]+)$ /news/$1/ [R=301,L] 
RewriteRule ^news/([a-zA-Z0-9_-]+)/.*$ news/show.php?id=$1 

Il pourrait aussi ne pas être une terrible idée de changer votre classe de personnage [a-zA-Z0-9_-] juste [0-9] si vos identifiants ne sont numérique, selon la façon dont vous aimez gérer les 404s.

+0

A travaillé parfaitement, merci pour l'aide. – Andelas

Questions connexes