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:
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]