Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Roman Kocián:19.1.2017 20:39

Ahoj, potřeboval bych pomoci s filtrem přes GET v .htaccess. V .htaccess mám redirect na pěkné URL. Problém je následujcí:

Mám URL adresu: domena.cz/c/2/o­ci/?manufactu­rer=2.
URL adresa na pozadí je: domena.cz/index­.php?category-id=2&manufacturer=2

Pokud zadám parametr, který běží na pozadí je vše OK, ale pokud s pěknou URL tak mi print_r($_GET) vypíše pouze: "category-id => 2" jako 0 parametr pole, parametr manufacturer tam není...

V .htaccess mám následující pravidlo:
RewriteRule ^c/([0-9]+)/([a-zA-Z0-9-]+)?\/$ /index.php?category-id=$1&manufac­turer=$2

Nic to ovšem nedělá.

Pokud by byl někdo se znalostmi, budu velmi rád..:)

 
Odpovědět
19.1.2017 20:39
Avatar
Roman Kocián:19.1.2017 20:45

Problém je s tím, že do URL přidávám vlastní text z DB. To je to "oci", který v originální URL není.

 
Nahoru Odpovědět
19.1.2017 20:45
Avatar
Odpovídá na Roman Kocián
Neaktivní uživatel:19.1.2017 20:50

Ahoj,
s .htaccess se moc nechci patlat, proto ti nabídnu alternativu. Můžeš použít již hotový .htaccess soubor z MVC tady na ITnetworku http://www.itnetwork.cz/…er-kontroler který ti "zachová adresu" ale vše přesměruje na index. Ty si pak pomocí $_SERVER['REQU­EST_URI'] zjistíš o jakou adresu se jedná a podle toho v PHP naložíš. Veškeré $_GET ti nadále zůstanou, jen místo zpracování URL adresy v .htaccess souboru ji budeš zpracovávat přímo v PHP.

Nahoru Odpovědět
19.1.2017 20:50
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Roman Kocián:20.1.2017 1:45

Problém vyřešen - pomohlo Google. Kdyby někdo řešil podobný problém tak stačí přidat do .htaccess kód:

RewriteRule ^c/([0-9]+)/filter(.*)$ /index.php?category-id=$1&manufac­turer=$2 [QSA]

a při odesílání formuláře nastavit action na:

action="c/<?= $_GET['category-id'] ?><?php $_SERVER['PHP_SEL­F']; ?>/filter"

Ciao :)

 
Nahoru Odpovědět
20.1.2017 1:45
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.