Strip of query-tekenreeks verwijderen of herschrijven van gereinigde URL met htaccess

Wat ik wil doen, is een queryparameter uit een dynamische URL halen die ook moet worden opgeschoond met behulp van HTACCESS.

  1. De URL begint als http://testdomain.com/post.php? id = 3326 .

  2. De url wordt schoongemaakt met een herschrijving naar http://testdomain.com/post/3326/ .

  3. Sommige links krijgen "? ref = no_set" toegevoegd aan het einde

  4. Url moet nu worden omgeleid van http://testdomain.com/post/3326 /? Ref = no_set naar http://testdomain.com/post/3326/

In sommige gevallen moet ik een nieuwe queryparameter "? Ref = no_set" toevoegen aan de URL, maar ik vraag me af of het mogelijk is om die queryparam te verwijderen en nog steeds $ _GET te kunnen gebruiken in PHP om het op te halen, ook al wordt het niet herschreven.

Alle hulp wordt op prijs gesteld!

0

2 antwoord

Eenvoudig...

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

Fijne dag! ;)

0
toegevoegd
RewriteEngine on

RewriteCond [conditional reg ex here]

RewriteRule [rewrite reg ex here] - [CO=ref:no_set:.testdomain.com]
0
toegevoegd
De huidige RewriteRule die ik gebruik is: RewriteRule ^ post/([0-9] {1,11})/$ post.php? Id = $ 1 & ref = no_set [L, QSA]. Ik kan de query-params eruit halen met behulp van: RewriteCond% {QUERY_STRING} ref = RewriteRule (. *) testdomain.com/$ 1 ? [R], maar ik kan $ _GET niet gebruiken wanneer ik dit doe ...
toegevoegd de auteur stwhite, de bron