Autor Zpráva
dunky
Profil
Dobrý den,
v současné době řeším dilema, jak pracovat s adresou v případě, že potřebuju vyvořit odkaz na tu samou stránku s rozdílným Get requestem. Problém mi stěžuje aktivní mod rewrite, který mi přepisuje adresy, tak aby byly "hezké".
mod rewrite
RewriteRule ^([a-z0-9\-]+)/?(?<!.php)$  page.php?name=$1 [QSA,L]
Příklad.
Jsem na stránce články - /clanky. Mám tam paginator, který mi vypíše odkazy na další strany: /clanky?paginator=1, /clanky?paginator=2

Řeším to touto funkcí, která vypíše adresu, která se zobrazuje v adresovém řádku prohlížeče, přesto se mi to zdá jaksi krkolomné. Nemáte nápad na nějaké elegantní řešení? To samé řeším v případě formulářů zpracovávaných stejným skriptem, který je odesílá.

function curPageURL($uri = true) {
    $pageURL = 'http';
    if (isset($_SERVER["HTTPS"]) and $_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
    $pageURL .= "://";
    if ($_SERVER["SERVER_PORT"] != "80") {
     $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    } else {
     $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    }
    if(!$uri) $pageURL = preg_replace('~\?.*=.*$~i', '', $pageURL);; 
    return $pageURL;
}
Str4wberry
Profil
Nehledáte náhodou toto?
dunky
Profil
Už jsem objevil, co jsem potřeboval. Proměnná $_ SERVER["REDIRECT_URL"] obsahuje adresu bez Query requestu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: