Stránka 1 z 2
Přesměrování URL
Napsal: 28 kvě 2018, 10:50
od jura80
Rád by jsem přesměroval některý starý, neexistující stránky ze svýho eshopu na nový stránky. Konkrétně např. tohle:
http://aesobchod.cz/product.php?id_product=121
Semhle:
http://aesobchod.cz/home/363-sada-rezis ... -kusu.html
A nemůžu s tím hnout. Dal jsem do .htaccess tohle:
RewriteEngine On
RewriteRule ^product.php?id_product=121$
http://aesobchod.cz/home/363-sada-rezis ... -kusu.html [QSA,R=301,L]
A nefunguje to. Nevíte někdo, kde by mohl bét problém?
Napsal: 28 kvě 2018, 11:27
od Prochy
S .htaccess nemám přímo zkušenosti, ale podle mě máš minimálně chybu, že speciální znaky, který se používají v regulárech, nemáš escapovaný.
product\.php\?id_product=121$
Ten znak ^ znamená začátek textu, takže bych ho taky vynechal. Ale nejsem si tím jistý, ale třeba to bude fungovat.

Napsal: 28 kvě 2018, 15:24
od jura80
Děkuju za radu, ale ani takhle to nefunguje.
Je ale zajímavým, že když dám např.:
RewriteRule ^a$
http://aesobchod.cz/home/363-sada-rezis ... -kusu.html [QSA,R=301,L]
Tak to funguje a přesměrovává to z adresy
aesobchod.cz/a
na adresu
aesobchod.cz/home/363-sada-rezistoru-yageo-0805-3400-kusu.html
Takže zakopané kocór a jádro kočky bude asi někde v té první adrese...
Napsal: 28 kvě 2018, 16:33
od p32
Jen tak mimo, proč tam máš takové divné ceny?
Napsal: 28 kvě 2018, 16:54
od jura80
Jaký "divný ceny"? Co je "divná cena"?
____________________________
Teď jsem k tomu zase na chvilku sednul a zjistil jsem, že to nechce sežrat všechno, co je za otazníkem. Takže když to zapíšu takhle, ještě to normálně funguje a přesměrovává:
^product.php?$
Ale jak tam dám celou adresu, tj.:
^product.php?id_product=121$
Tak už to nejede.
Napsal: 28 kvě 2018, 17:10
od jura80
Pánové, no já jen čučím. Dal jsem tam dvojtý zápis (v rámci toho experimentování) a najednou to funguje:
RewriteRule ^product.php?id_product=121$
http://celá cílová adresa [QSA,R=301,L]
RewriteRule ^product.php?$ http:/celá cílová adresa [QSA,R=301,L]
Tohle fakt nechápu...
Napsal: 28 kvě 2018, 17:17
od pocitujlasku
Skus toto:
Kód: Vybrat vše
RewriteCond %{QUERY_STRING} ^http://aesobchod.cz/product.php?id_product=121
RewriteRule ^http://aesobchod.cz/home/363-sada-rezistoru-yageo-0805-3400-kusu.html [L,QSA]
Mozno to bude este potrebne doladit, pisem to z hlavy.
RewriteRule totiz pracuje len s tym co je pred ? ak chces celu adresu, tak to musis urobit cez rewritecond.
Lenze taketo veci sa robia dynamicky, kedy uz php pri generovani stranky prevadza odkazy na "pekne url"
Napsal: 28 kvě 2018, 17:26
od jura80
Díky. Pořád 404, stránka není dostupná, bez přesměrování...
Napsal: 28 kvě 2018, 17:40
od jura80
Já asi začínám tušit, kde je zakopané kocór.
Ten otazník, co je v původní adrese, tak za ním měla bét nějaká data pro skript (
https://www.jakpsatweb.cz/html/url.html )- no tož a ten asi pak ještě adresu dál přesměroval na konkrétní produktovou stránku. A páč se tohle může dít, tak to pak přesměrování v .htaccess nebere, páč to asi čeká na popovídání si s nějaký skriptem, co už ale dávno ani neexistuje. Takže mně to ani nemůže a nemohlo fungovat.
Řešení: Budu prostě přesměrovávat jen product.php?. Pak to bude přesměrovávat cokoli bez ohledu na to, co je za "?". Lepčí než nic...
Teda, pokud néni lepčích nápadů...
Napsal: 28 kvě 2018, 18:01
od Prochy
Ale já když najedu na tvůj odkaz:
http://aesobchod.cz/product.php?id_product=121
Tak mě to přesměruje
http://aesobchod.cz/home/363-sada-rezis ... roduct=121
Tos přeci chtěl, ne? Doufám, že to testuješ v anonymním okno, jakmile změníš htaccess,ne? Pokud ne, tak prohlížeč si ten soubor načte jen jednou za čas, musel by si vymazat cookies. Na to je lepší využít anonymní mód.
Napsal: 28 kvě 2018, 18:03
od Prochy
A ano, cena 250,2400 Kč s DPH je opravdu divná. Nějak si pod tím neumím představit správnou cenu. Má to být 250,24 Kč? Asi by mě to trochu odrazovalo ten nestadartní zápis.
Napsal: 28 kvě 2018, 18:06
od jura80
Pořád nevím, co se vám na těch cenách nebo zápisech nezdá. Normální číslo, jak nás to učili ve školách. TME to má taky na hromadu desetinných míst a nikdo jste se tady nad tím (troufám si tvrdit) ještě nepozastavoval. Farnell myslím taky tak. Tak proč u mýho eshopu jo, krucinál?
Jo, chtěl i nechtěl. Radši by jsem byl, kdyby to product=121 přesměrovávalo jinam než třeba product=222 . Těch starých nefunkčních odkazů na můj web je totiž povícero. Ale takhle to taky stačí. Taky se mně trochu nezamlouvá ten konec výsledné adresy (pohleď co je za html). Ale jsu rád, že aspoň takhle to funguje.
Napsal: 28 kvě 2018, 18:20
od rnbw
Tak si vytvor ten product.php a presmerovanie urob v nom.
Ja sa vyhybam pouzitiu mod_rewrite, ak je to aspon trochu mozne.
Napsal: 28 kvě 2018, 18:22
od jura80
Myslíš, že kdyby jsem to uměl, tak se tady budu vyptávat na věci, co jsou pro jiný banalitou?
Napsal: 28 kvě 2018, 18:26
od rnbw
Staci nieco trivialne ako:
Kód: Vybrat vše
<?php
switch ($_GET['id_product']) {
case 121: header('Location: http://aesobchod.cz/home/blabla');
case 222: header('Location: http://aesobchod.cz/home/zxcvb');
default: header('Location: http://aesobchod.cz/');
}
?>