Chceš rozjet Affiliate? Tak jedině v CJ.com, technologii využívá iDnes.cz, Denik.cz i SME.sk
Zobrazují se odpovědi 1 až 9 z 9

Přesměrování vyhledávání

  1. fida8 Hodnocení: 10 (100%) fida8 je zatím velká neznámá
    1
    Zdravím,

    mám takový menší problém. Na webu mám vyhledávací formulář, u kterého chci aby se mi po zadání nějakého slova např. madonna a odeslání formuláře, převedla stránka do formátu neco.cz/mp3/madonna případně neco.cz/mp3/madonna+down+atd . Udělal jsem si v htaccess řádek RewriteRule ^mp3/([a-z0-9\-\+]+)/?$ /index.php?page=hledej&search=$1&vyhledavani=mp3&su bmit=%A0 [L,QSA] což funguje bez problémů, ale potřebuji aby se adresa přesměrovala ihned po odeslání formuláře. Nemohu do <form action=""> při odeslání zadat přímo /mp3/madonna+down/, jelikož neznám co bude uživatel vyhledávat. Formulář odesílám přes GET, tudíž mám při odeslání v adrese formuláře něco takového index.php?page=hledej&search=madonna&vyhledavani=m p3&submit=%A0. Zkusil jsem při odeslání formuláře a načtení nové stránky ihned na začátku vložit

    PHP kód:
    header("HTTP/1.1 301 Moved Permanently"); 
    header("location:"./mp3/madonna+down");
    header("
    Connectionclose"); 
    Ale hlásí mi to příliš mnoho přesměrování. Snad jsem se vyjádřil alespoň trochu pochopitelně a někdo mi poradí.

  2. Co se právě děje na Webtrhu?
  3. Podívejte se, jak zvýrazňovač obarvil váš kód.
    Vidíte tam tu syntaktickou chybu v druhém řádku?

    A hlavička "Location" vyžaduje absolutní URL, tj. včetně domény. Relativní nestačí.

  4. Citace Původně odeslal Martin Schlemmer Zobrazit příspěvek
    A hlavička "Location" vyžaduje absolutní URL, tj. včetně domény. Relativní nestačí.
    u location by měla fungovat i relativní adresa. Již dlouho jsem nepoužíval, ale jestli si dobře pamatuji, tak jsem zadával i relativní adresy.
    Chyba tam každopádně je:-)

  5. Relativní adresa je chybná, ačkoliv ji většina prohlížečů pochopí.
    Relative URL example
    This example, is incorrect according to the standard, which specifies the URI returned to be absolute.[7] However, most popular browsers will accept a relative URL.
    http://en.wikipedia.org/wiki/HTTP_lo...ve_URL_example

  6. fida8 Hodnocení: 10 (100%) fida8 je zatím velká neznámá
    5
    Určitě mám u Location absolutní adresu a je to ve správném tvaru. Jen tady na webtrhu se mi v rychlosti ten zápis trochu zkomolil

    Takže mám např.

    Kód:
    header("HTTP/1.1 301 Moved Permanently");  
    header("location:http://www.neco.cz/mp3/madonna+down"); 
    header("Connection: close");

  7. naniccz Hodnocení: 2 (100%) naniccz je na dobré cestě
    6
    Jestli to chápu správně, po odeslání formuláře se jde na index.php?..., který přes PHP provede přesměrování na /mp3/....
    Dále existuje RewriteRule ^mp3/([a-z0-9\-\+]+)/?$ /index.php?page=hledej&search=$1&vyhledavani=mp3&su bmit=%A0 [L,QSA],
    což způsobí, že se z /mp3/... (aniž by se něco načítalo) jde zase na index.php?...., který provede redirect, a takhle pořád dokola

  8. Tak tak, vždyť vám to říká i ta hláška z prvního příspěvku.
    Prostě jste vytvořil smyčku přesměrování. Kód pro přesměrování přesuňte tam, kde se provede jen jednou, při skutečném odeslání formuláře.

  9. fida8 Hodnocení: 10 (100%) fida8 je zatím velká neznámá
    8
    řekněme že přesměrování v php odkažu, jak tedy v .htaccess udělat aby se mi při odeslání formuláře, který bude mít ve FORM action /index.php?page=hledej&search=$1&vyhledavani=mp3&su bmit=%A0, odkaz přesměroval přímo na adresu www.neco/mp3/madonna+down/ ? díky za každou radu

  10. Na čistou adresu musíte přesměrovat vy. Akorát to musíte udělat jen jednou, pouze při odeslání formuláře.

Hostujeme u Server powered by TELE3