Parametrillisten urlien uudelleenohjaus

Uudelleenohjauksien tekeminen .htaccessissa on helppoa:

Redirect 301 /sivu/joka/ohjataan http://www.example.com/uusiosoite

Mutta entäs jos sivun osoite perustuu parametreihin, eli on esimerkiksi muotoa http://www.example.com/index.php?tag=foo? Silloin yksinkertainen edelleenohjaus ei toimi, sillä se perustuu vain tiedostojen nimiin.

Tarvitaan vähän monimutkaisempaa koodia:

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{QUERY_STRING} &?tag=foo
RewriteRule ^index\.php /foo? [R=301,L]

Tämä ohjaisi URLin http://www.example.com/index.php?tag=foo osoittamaan osoitteeseen http://www.example.com/foo. Ohjauksen voi tehdä toki toisellekin saitille.

Kysymysmerkki RewriteRulen uuden osoitteen perässä siivoaa parametrit pois osoitteesta, ilman siitä ohjattu osoite olisi http://www.example.com/foo?tag=foo (ja mitä muita parametrejä URLissa sitten alunperin oli mukana).

Vastaa

Sähköpostiosoitettasi ei julkaista.

This site uses Akismet to reduce spam. Learn how your comment data is processed.