Strip sau rescrie șirul de interogare din url curățat cu htaccess

Ceea ce vreau să fac este să desprind un parametru de interogare dintr-o adresă URL dinamică care trebuie de asemenea să fie curățată utilizând HTACCESS.

  1. Urlul începe mai întâi ca http://testdomain.com/post.php? id = 3326 .

  2. Urlul este curățat cu o rescriere pentru a http://testdomain.com/post/3326/ .

  3. Unele linkuri "ref = no_set" atașate la final

  4. Url trebuie redirecționat din http://testdomain.com/post/3326 /? Ref = no_set la http://testdomain.com/post/3326/

În unele cazuri, trebuie să adaug un url la parametrul "? Ref = no_set" , dar mă întreb dacă este posibil să eliminați paramul de interogare și să puteți utiliza în continuare $ _GET în PHP să o recupereze, chiar dacă nu este rescrisă.

Orice ajutor ar fi apreciat!

0

2 răspunsuri

Simplu...

RewriteEngine on
RewriteCond %{QUERY_STRING} !^$
RewriteRule .* http://testdomain.com%{REQUEST_URI}? [R=301,L] 
# ADD CODE TO HANDLE YOUR REWRITES AFTER THIS

O zi bună! ;)

0
adăugat
RewriteEngine on

RewriteCond [conditional reg ex here]

RewriteRule [rewrite reg ex here] - [CO=ref:no_set:.testdomain.com]
0
adăugat
Actualul RewriteRule pe care îl folosesc este: RewriteRule ^ post/([0-9] {1,11})/$ post.php? Id = $ 1 & ref = no_set [L, QSA]. Sunt capabil să desprind paramurile de interogare de acesta folosind: RewriteCond% {QUERY_STRING} ref = RewriteRule (. *) testdomain.com/1 $ ? [R], dar nu pot folosi $ _GET atunci când fac asta ...
adăugat autor stwhite, sursa