Zadejte hledaný výraz...

Přesměrování v .htaccess

Studne
verified
rating uzivatele
(2 hodnocení)
14. 3. 2011 23:10:35
Ahoj, trápím se tu s nastavením rewrite módu v .htaccess pro přesměrování, konkrétně:
Potřebuji, aby došlo k přesměrování pokud bude v na můj web směrován odkaz, ve kterém bude parametr "?něco=XX+možný ještě jiný parametr". Tento parametr se objevuje ihned za doménou, tedy "www.mujweb.cz/?něco=XX+možný ještě jiný parametr". Potřeboval bych, aby došlo k přesměrování v případě, když bude adresa obsahovat samotný parametr a v případě, že za parametrem budou další údaje tak, aby došlo rovněž k přesměrování na "www.mujweb.cz", Pravděpodobně stačí jedna podmínka, že všechen obsah za "?něco=" půjde rovnou celý pryč.
Výše zmíněný parametr se objevuje i na jiné pozici: "http://www.mujweb.cz/product_info.php?products_id=XX&něco=XX&..." Zde bych potřeboval zachovat "http://www.mujweb.cz/product_info.php?products_id=XX" a ostatní odstranit.
Můžete mi prosím poradit?
14. 3. 2011 23:10:35
https://webtrh.cz/diskuse/presmerovani-v-htaccess-2/#reply619156
hm
verified
rating uzivatele
(20 hodnocení)
14. 3. 2011 23:24:18
RewriteEngine On
RewriteBase /
RewriteCond %{query_string} parametr=
RewriteRule .* http://www.mujweb.cz/
jedine co je potreba prepsat je url a nazev parametru v rewritecond samozrejme by podminka sla napsat mnohem sloziteji (udelat tam vice omezeni/filtrovani aby treba nedoslo k zamene parametru "parametr" za "xyparametr" apod. ale zakladni myslenku jiste chapes...´- pokud umis regulary a potrebujes slozitejsio podminky, jiste budes umet nejake sepsat)
14. 3. 2011 23:24:18
https://webtrh.cz/diskuse/presmerovani-v-htaccess-2/#reply619155
Studne
verified
rating uzivatele
(2 hodnocení)
15. 3. 2011 00:06:48
Díky za pomoc, ale nějak to nefunguje. Při vložení adresy s parametrem nedojde k načtení webu. Zkoušel jsem různé mini úpravy, ale dostávám chybu 500.
15. 3. 2011 00:06:48
https://webtrh.cz/diskuse/presmerovani-v-htaccess-2/#reply619154
Vladimír Benc
verified
rating uzivatele
(7 hodnocení)
15. 3. 2011 10:06:55
Zkus:
První rozlišuje parametr products_id= ale pouze pokud je URL product_info.php
a ta druhá přepisuje VŠECHNY požadavky, které obsahují nějaký parametr a posílá je na root domény. Nevím jestli tohle je opravdu to čeho si chtěl dosáhnout :-/ ale dle toho jak si to napsal sem to tak pochopil.
Ty cesty si kdyžtak uprav.
15. 3. 2011 10:06:55
https://webtrh.cz/diskuse/presmerovani-v-htaccess-2/#reply619153
Studne
verified
rating uzivatele
(2 hodnocení)
15. 3. 2011 15:03:20
Díky, ankeli, za vypsání. To s tím product.info?products_id=XX&něco nefunguje. Je to asi nejspíše tím, že již používám přesměrování product_info?products_id=XX na product_XX.html a hádá se to.
Určitě, ale půjde vyřešit ten případ když se objeví za url parametr. V prvním příspěvku jsem to trochu nesrozumitelně popsal. Tím "něco" jsem nemyslel jakýkoliv parametr, ale "něco" byl ten konkrétní parametr. Napíši to raději jaký parametr to je ve skutečnosti:
www.mujweb.cz/?ref=ID kde ID je libovolné číslo od 1 výše. Chci všechny tyto adresy přesměrovat na www.mujweb.cz.
Napadá mě:
RewriteCond %{QUERY_STRING} ?ref=.(*)
RewriteRule .* /?
Bohužel se teď nedostanu na FTP, abych to vyzkoušel. Můžete mi to mezitím zkontrolovat, popřípadě upravit?
15. 3. 2011 15:03:20
https://webtrh.cz/diskuse/presmerovani-v-htaccess-2/#reply619152
Vladimír Benc
verified
rating uzivatele
(7 hodnocení)
16. 3. 2011 07:46:36
Napsal Studne;636561
To s tím product.info?products_id=XX&něco nefunguje. Je to asi nejspíše tím, že již používám přesměrování product_info?products_id=XX na product_XX.html a hádá se to.
no nerad bych tu vařil z vody, ale to by šlo určitě napsat jako jedno pravidlo, přinejhorším nejdříve odstranit ty nepotřebné parametry, neuvádět flag a potom ještě to tvoje. Každopádně nejjednodušší by bylo kdyby si sem ten .htaccess rovnou napsal že :)
tenhle condition ti přečte pouze hodnotu products_id a vrátí jí jako %1 (tedy to tvoje XX)
Ale myslim, že to máš spíš obráceně ne ? Z požadavku na product_XX.html se servíruje product_info.php?products_id=XX bez žádného redirektu.
Napsal Studne;636561
www.mujweb.cz/?ref=ID kde ID je libovolné číslo od 1 výše. Chci všechny tyto adresy přesměrovat na www.mujweb.cz.
Napadá mě:
Tak to se snad děje už teď? když je tam jenom mujweb.cz/?ref=ID tak tě to směruje stejně na mujweb.cz akorát že je tam parametr z GET, kterýho si nemusíš všímat. Jestli chceš o všechny parametry z GET přijít tak:
Bez dalších informací se tady nehnem, myslim, že i z toho co se tady objevilo musíš být schopen to udělat sám. Koukni na regulární výrazy a dokumentaci k mod_rewrite. Pokud by si s tim měl problémy tak přes PM ;-)
16. 3. 2011 07:46:36
https://webtrh.cz/diskuse/presmerovani-v-htaccess-2/#reply619151
Studne
verified
rating uzivatele
(2 hodnocení)
16. 3. 2011 19:37:22
Moc díky za tvojí ochotu a čas. Mám toho teď opravdu hodně, tak jsem zkusil se nejdříve optat a poté kdyby se nic neobjevilo, to jít nastudovat. Tvoje tipy vyzkouším.
16. 3. 2011 19:37:22
https://webtrh.cz/diskuse/presmerovani-v-htaccess-2/#reply619150
Pro odpověď se přihlašte.
Přihlásit