Apache Mod_Rewrite Htaccess pour URL dynamic

J’ai ce lien

www.example.com/1/title

qui va à

www.example.com/post.php?author=1&title=title

à cause de cette règle

RewriteRule ^post/([0-9]+)/([\w-_:]+)/?$ post.php?author=$1&title=$2 [L,QSA,NC] 

Bien, mais maintenant, comment faire en sorte que si quelqu’un tape dans www.example.com/post.php?author=1&title=title pour redirect vers www.example.com/1/title

J’ai passé littéralement des heures à faire des recherches en ligne, mais les informations sont vagues (du moins pour moi) et ne fonctionnent pas.

2 choses me bloquent jusqu’ici:

  • Ecrire la jolie URL en dynamic puis dynamic en jolie – Est-ce que ça ne crée pas de boucle?
  • Je voulais également suivre le chemin d’une redirection 301, mais je ne trouvais aucun code utilisable prenant les variables du premier lien à placer dans la redirection. Dans ma tête, un 301 serait le bon choix, mais je vois beaucoup de personnes (exemples) le faire via RewriteRule.

Je comprends que (groupes) sera accessible plus tard en utilisant $ 1 et $ 2 … mais en essayant l’inverse je ne peux pas le faire fonctionner. Par exemple:

 RewriteRule ^post.php?author=([0-9]+)&title=([\w-_:]+)$ post/$1/$2 

Mais comme je l’ai dit, rien ne marche. Je me suis cogné la tête sur des sites tels que http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html mais je ne peux pas comprendre pleinement (ou appliquer) ce que je lis là-bas. Pouvez-vous s’il vous plaît laissez-moi savoir ce que je fais mal ou comment je devrais aborder ce problème?

Merci beaucoup pour toute aide que vous pouvez me donner

Vous avez besoin d’une nouvelle règle comme celle-ci:

 RewriteCond %{THE_REQUEST} \s/+post\.php\?author=([^&]*)&title=([^\s&]+) [NC] RewriteRule ^ post/%1/%2? [R=302,L] RewriteRule ^post/([0-9]+)/([\w-_:]+)/?$ post.php?author=$1&title=$2 [L,QSA,NC]