s1gh Skrevet 23. august 2010 Skrevet 23. august 2010 Hei, Har nå i flere timer prøvd og løst et problem jeg har med mod_rewrite og html forms, så nå håper jeg virkelig det er noen der ute som kan hjelpe meg. Form: <form name="search" action="index.php" method="get"> <input type="hidden" name="node" value="search" /> <input class="inputSearch" type="text" name="query" /> <input class="buttonSearch" type="submit" value="Search" /> </form> Dette er altså html-en bak søkeboksen. Den gir følgende URL: www.example.com/index.php?node=search&query=søksøksøk MEN jeg ønsker altså å skrive om denne URL-en til følgende; www.example.com/search/søksøksøk .htaccess: <IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On RewriteRule ^/search/(.*)/$ index.php?node=search&query=$1 </IfModule> For å være ærlig vet jeg ikke om jeg har skrevet riktig i .htaccess en gang. Men det store spørsmålet er som følger; sett at .htaccess-fila er korrekt - hvordan i #"#&"%#" skal form-en se ut? Altså, hva skal jeg skrive under form action? Jeg har prøvd med flere varianter, men uansett hva jeg gjør blir det feil. URL-en blir seende slik ut: www.example.com/search/?query=søksøksøk Er det noen der ute som har mer peiling enn meg, og som kan gi meg en hjelpende hånd? På forhånd, takk!
Jonas Skrevet 23. august 2010 Skrevet 23. august 2010 Du får ikke en form til å poste til en URL slik du beskriver. Alternativet er å bruke javascript til å videreføre brukeren til din custom URL eller endre location med headers.
Thomas. Skrevet 24. august 2010 Skrevet 24. august 2010 Jeg har prøvd med flere varianter, men uansett hva jeg gjør blir det feil. URL-en blir seende slik ut: www.example.com/search/?query=søksøksøk Fordi du bruker get i formen din. Hvorfor bruker du get? (method) Du bør heller bruke post, og sende videre til $_GET. Lite eksempel: <?php /** sender til $_GET **/ if(isset($_POST['s'])) header('Location: /search/' . $_POST['sok'] . ''); /** behandler søket når vi mottar $_GET **/ if($_GET['query']) : echo 'Du søkte etter: ' . $_GET['query'] . '.'; endif; ?> <form action="" method="post"> <input type="text" name="sok" /> <input type="submit" name="s" value="Søk!" /> </form>
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå