2010-11-03 6 views
0

J'utilise mod_rewrite pour les URLs propres mais j'ai juste un petit problème.Comment puis-je améliorer mon simple mod_rewrite dans htaccess?

La ligne en particulier est:

RewriteRule ^events/(.*)$ fe_events.php?event_url=$1 

Cela fonctionne. Je peux aller à url.com/events/something_or_other et cela fonctionne comme prévu. Le problème est que si je vais juste sur url.com/events cela ne marche pas - je dois aller sur url.com/events/ (avec une barre oblique à la fin).

Puis-je modifier simplement cette ligne ou dois-je ajouter une autre ligne telle que:

RewriteRule ^events$ fe_events.php 

Merci pour votre temps!

Répondre

1
RewriteRule ^events(/(.*))?$ e_events.php?event_url=$1 

cela devrait fonctionner.

+0

Cela fonctionne en quelque sorte ... url.com/events fonctionne comme prévu, mais pas si j'essaye url.com/events/quelquechose il n'envoie pas cet event_url correctement – willdanceforfun

+1

oui, parce qu'il le réécrit toujours à e_events. php? event_url = $ 1, il ne peut tout simplement pas vérifier si $ 1 est vide. vous pouvez vérifier si la variable n'est pas vide dans votre code ou simplement utiliser votre propre solution, ce qui est plutôt bon. Je crois que vous êtes en train de vérifier si isset ($ _ GET ['event_url']), donc vérifier si ce n'est pas vide ne devrait pas être un problème. –