2009-08-05 9 views
14

Ok, je suis assez nouveau à ce sujet et j'apprécierais vraiment de l'aide, merci!htaccess réécriture pour la chaîne de requête

Comment puis-je réécrire ceci dans .htaccess correctement?

J'ai donc une chaîne de requête dans mon url:

/?url=contact 

Tout ce que je veux faire est de supprimer la chaîne de requête

/contact 

aide? J'ai récuré google et j'apprends la syntaxe en ce moment, mais le fait demeure ... Je ne sais pas comment le faire pour le moment. Merci à tous

+1

doit être ouvert à nouveau. C'est une question liée à la programmation (bien que cela ne montre pas beaucoup d'effort) et j'aimerais voir de meilleures réponses que celles qui sont ici. – Andrew

Répondre

22

C'était ma solution:

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

15
RewriteCond %{QUERY_STRING} url=(.*) 
RewriteRule index.html %1 

(ou quoi que si elle n'index.html, index.php, peu importe)

Vous devez capturer la chaîne de requête, qui ne regardait par RewriteRule normalement, et utiliser la % 1 référence arrière, pas 1 $ comme vous le feriez dans une capture dans un RewriteRule

24

Essayez ceci:

RewriteEngine On 
RewriteRule ^(.*)$ /index.php?url=$1 [L] 

pour un utilisateur sur votre site, ils verront et de naviguer à ceci:

http://example.com/contact 

Mais la vraie page serait quelque chose comme ceci:

http://example.com/index.php?url=contact 

Ce bit, [L], indique au serveur que c'est la dernière ligne de la règle de réécriture et d'arrêter.

Questions connexes