Gå til innhold

mod_rewrite og html forms


Anbefalte innlegg

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!

Lenke til kommentar
Videoannonse
Annonse

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>

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...