Odstranění řetězce QSA – query string (část za otazníkem) z URL/URI adresy pomocí .htaccess

RewriteCond %{QUERY_STRING} ^cast-za-otaznikem=([0-9]*)$
RewriteRule ^stara-stranka-s-otaznikem-na-konci.php$ /nova-stranka.php? [R=301,L]

Kód přepíše např.:

www.yourwebsite.com/stara-stranka-s-otaznikem-na-konci.php?cast-za-otaznikem=98

Na:

www.yourwebsite.com/nova-stranka.php

V RewriteCond se nachází regulární výraz pro řetězec query string, v RewriteRule první část obsahuje starou adresu bez řetězce query string. Druhá část je nová adresa; otazník na konci smaže právě původní query string za otazníkem z původní adresy. Otazník je zde tedy pro funkci vynechání řetězce, ne jako součást konečné adresy. Otazník tedy nebude vidět v konečné adrese.

Kategorie: Vyřešené problémy

3 komentáře

Tomáš · 20.10.2016 v 23:58

Dobrý den, jakým způsobem by se dalo z URL odstranit pouze ^cast-za-otaznikem
(kdy url zůstane stejná, pouze se odstraní tato část za otazníkem) . Odkazy jsou různé, část za otazníkem stejná.
http://www.yourwebsite.com/stara-stranka-s-otaznikem-na-konci.php?cast-za-otaznikem=98 –> http://www.yourwebsite.com/stara-stranka-s-otaznikem-na-konci.php

Děkuji za radu.

    admin · 26.10.2016 v 19:30

    Dobrý den, zkoušel jste?:
    RewriteCond %{QUERY_STRING} ^cast-za-otaznikem=([0-9]*)$
    RewriteRule ^stranka.php$ /stranka.php? [R=301,L]

Tomáš · 13.7.2018 v 22:50

Dobrý den, můžete prosím poradit jak z adresy odstranit pouze část řetězce QSA, případně druhou část přejmenovat?

http://www.yourwebsite.com/stranka-s-otaznikem-na-konci.php?prvni-cast=1&dalsi-cast=2 –> http://www.yourwebsite.com/stranka-s-otaznikem-na-konci.php?dalsi-cast=2
nebo nejlépe http://www.yourwebsite.com/stranka-s-otaznikem-na-konci.php?dc=2

Děkuji za informaci

Napsat komentář

Vaše emailová adresa nebude zveřejněna.

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