Portál AbcLinuxu, 19. dubna 2024 04:55


Dotaz: apache, změna cgi skriptem generovaneho odkazu

Cubic avatar 13.5.2007 21:56 Cubic | skóre: 24 | blog: obcasne_vyplody | Essex
apache, změna cgi skriptem generovaneho odkazu
Přečteno: 124×
Odpovědět | Admin
Zdravim

bash/cgi skript mi krom jiného generuje jednoduchý html dokument, který obsahuje i odkaz na soubor s výsledky

Můj problém je, že mi apache k odkazu na soubor přidává prefix v podobbe /cgi-bin/ takže se k souboru nedostanu. Víte někdo čím to může být? Už mě to stálo odpoledne a stále nevím. Děkuju

Do you like what you see? No? Well, bloody look harder.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.5.2007 22:13 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: apache, změna cgi skriptem generovaneho odkazu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nějak nechápu ?

Co vám brání v tom skriptu udělat normální tag a ? A zapsat tam co chci (celou cestu http://server/někde/soubor.txt ).

PS. Asi by bylo vhodné zde říci jak ten odkaz děláte :-)
Cubic avatar 13.5.2007 22:29 Cubic | skóre: 24 | blog: obcasne_vyplody | Essex
Rozbalit Rozbalit vše Re: apache, změna cgi skriptem generovaneho odkazu
uznavam že je to trochu nepřehledné

v /var/www/localhost/htdocs je formulář kterým se spouští skript v /var/www/localhost/cgi-bin
skript vygeneruje výsledek /var/www/localhost/htdocs/vysledek/xxxx/soubor.txt
xxxx je vytvořený pomocí mktemp. Pomoci sedu dostavam onenen problmaticky odkaz: href=vysledek/xxxx/soubor.txt>vysledek
jenže apache mi při zobrazení vygenerovane stranky změní odkaz na href=/cgi-bin/vysledek/xxxx/soubor.txt>vysledek

Cubic avatar 13.5.2007 22:51 Cubic | skóre: 24 | blog: obcasne_vyplody | Essex
Rozbalit Rozbalit vše Re: apache, změna cgi skriptem generovaneho odkazu
generovani /var/www/localhost/htdocs/vysledek/xxxx/
cesta="`mktemp -d -p /var/www/localhost/htdocs/vysledky -t $(date +%s.XXXXXXX)`"

generovani odkazu
echo "taga href="vysledky/$(echo $cesta | sed -e "s/\(.*\)vysledky\///g" | sed -e "s/\(.*\)bin\///g")/soubor.txt">vyslede tag/a"


tu promenou cesta jeste v prubehu skriptu pouzivam a generovani odkazu je az na konci
13.5.2007 23:00 valy
Rozbalit Rozbalit vše Re: apache, změna cgi skriptem generovaneho odkazu
generovani odkazu
echo "taga href="vysledky/$(echo $cesta | sed -e "s/\(.*\)vysledky\///g" | sed -e "s/\(.*\)bin\///g")/soubor.txt">vyslede tag/a"
spravne: echo "taga href="/vysledky/$(echo $cesta | sed -e "s/\(.*\)vysledky\///g" | sed -e "s/\(.*\)bin\///g")/soubor.txt">vyslede tag/a"
13.5.2007 22:52 valy
Rozbalit Rozbalit vše Re: apache, změna cgi skriptem generovaneho odkazu
ten odkaz musi znit takto:

href=/vysledek/xxxx/soubor.txt>vysledek

Vase reseni nefunguje protoze:

CGI je spusteno v adresari /cgi-bin/

a odkaz neco/neco.txt je tedy chapan jako /cgi-bin/neco/neco.txt

Pokud Vam to neni jasne, urcite si poridte nejakou knizku o HTML, protoze toto je zcela zakladni vec
Cubic avatar 13.5.2007 22:59 Cubic | skóre: 24 | blog: obcasne_vyplody | Essex
Rozbalit Rozbalit vše Re: apache, změna cgi skriptem generovaneho odkazu
diky moc
knihu o html si porizovat nebudu ale takove zaklady bych si opravdu osvezit mohl, musim rict ze se stydim, prestoze html vubec na nic nepuzivam prece jen to patri k vseobecnemu rozhled :)
13.5.2007 22:16 Jiří (BoodOk) Kadeřávek | skóre: 19 | blog: BoodOk | Brno
Rozbalit Rozbalit vše Re: apache, změna cgi skriptem generovaneho odkazu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud je ten bash/cgi script volán c /cgi-bin/, pak bych to tipl na to, že se jedná o to, že skript vygeneruje relativní odkaz do aktuálního adresáře, kterým je pro browser právě /cgi-bin/. Ale nechce se mi věřit, že by tě to nenpadlo. Mimochodem, je zvláštní, že ti Apache něco přidává do výstupu ze CGI. Jak si na to přišel, že tak činí Apache?
Věda má v sobě určitou zpupnost, že čím dokonalejší techniku vyvineme, čím více se dozvíme, tím lepší budou naše životy.
Cubic avatar 13.5.2007 22:43 Cubic | skóre: 24 | blog: obcasne_vyplody | Essex
Rozbalit Rozbalit vše Re: apache, změna cgi skriptem generovaneho odkazu
To mi doslo, ale nevim jak to obejit.
Pokud skript spustim v kozoli tak je odkaz spravne a ukazuje tam kam ma.
13.5.2007 22:56 valy
Rozbalit Rozbalit vše Re: apache, změna cgi skriptem generovaneho odkazu
To mi doslo, ale nevim jak to obejit.
Pokud skript spustim v kozoli tak je odkaz spravne a ukazuje tam kam ma.
A dokonce pokud se podivate do zdrojoveho kodu vygenerovane stranky s odkazem, bude to tam taky "dobre"! :))) Pricinou je absolutni/relativni URL a jeho chapani prohlizecem. Jak to vyresit? Poslete zdrojovy kod...
Cubic avatar 13.5.2007 23:00 Cubic | skóre: 24 | blog: obcasne_vyplody | Essex
Rozbalit Rozbalit vše Re: apache, změna cgi skriptem generovaneho odkazu
predchozi post vyresil, jeste jednou dik

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.