form action to rewriterule

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Michael -

Michael -

13/07/2010 23:43:09
Quote Anchor link
Hey,

Ik heb net even rewriterule aan m'n site toegevoegd en nou heb ik een form met method=get. Als je wat intypt en zoekt krijg je zoeken.php?q=hier+wat+je+zoekt

Nu met rewriterule wordt dit "zoeken/?q=hier+wat+je+zoekt"
Wat ik wil is dat als je op de submit drukt deze vanzelf naar "zoeken/hier+wat+je+zoekt" gaat
De link "zoeken/hier+wat+je+zoekt" werkt wel, maar krijg het niet voor elkaar dat deze bij de submit hier naar toe gaat.

<form method="get" action="zoeken">
<input type="text" id="q" name="q"/>
<input type="submit" class="zoek" value=""/>
</form>

Edit:
Goedemorgen,

Ik heb een oplossing gevonden, maar het lukt me nog niet 100%

Ik heb nu de volgende regels toegevoegd:
RewriteCond %{REQUEST_URI} /zoeken$
RewriteCond %{QUERY_STRING} ^q=([A-Za-z0-9\+]+)&s=$
RewriteRule ^(.*)$ /zoeken/%1? [R=301,L]

Probleem 1:
De site staat lokaal in een mapje (bijv localhost/map/) maar bovenstaand stukje stuurt mij na de zoekactie naar de hoofdmap waardoor mijn url wordt "localhost/zoeken/hier+wat+je+hebt+ingetypt" ipv "localhost/map/zoeken/hier+wat+je+hebt+ingetypt"
Q: Hoe los ik dit op dat 't niet uitmaakt of ie wel of niet in een map of in welke map die staat?

Probleem 1.1:
Nog een klein dingetje, maar behalve dat 't lelijk is is t niet zo erg, maar ik heb nu mijn submit de "name" "s" moeten geven, maar als ik "&s" uit die htaccess regel verwijder werkt 't niet meer.
Q: Is het mogelijk &s en name="s" weg te krijgen?
Gewijzigd op 14/07/2010 05:23:29 door Michael -
 
PHP hulp

PHP hulp

05/11/2024 15:41:46
 
Mick ForSure

Mick ForSure

14/07/2010 08:39:56
Quote Anchor link
probleem 1:

RewriteCond %{REQUEST_URI} /map/zoeken$
RewriteCond %{QUERY_STRING} ^q=([A-Za-z0-9\+]+)&s=$
RewriteRule ^(.*)$ /map/zoeken/%1? [R=301,L]

denk ik
 
P Lekensteyn

P Lekensteyn

14/07/2010 10:24:28
Quote Anchor link
Wat je ook kunt doen is een POST request maken, en dan forwarden ;)
Let op dat je bij zoekacties als '..' rare resultaten kunt krijgen.
 
Michael -

Michael -

14/07/2010 10:51:11
Quote Anchor link
Mick ForSure op 14/07/2010 08:39:56:
probleem 1:

RewriteCond %{REQUEST_URI} /map/zoeken$
RewriteCond %{QUERY_STRING} ^q=([A-Za-z0-9\+]+)&s=$
RewriteRule ^(.*)$ /map/zoeken/%1? [R=301,L]

denk ik

Thanks voor 't mee denken, maar de vraag was hoe ik kan zorgen dat ie altijd in elke map gewoon werkt, dus niet dat er standaard wat neer zet. Hij moet 't gewoon doen op m'n server en lokaal en nu moet ik steeds die laatste regel wijzigen.
De eerste regel moet trouwens dan geen map voor ;)

Peter datwiljewelwetenhe op 14/07/2010 10:24:28:
Wat je ook kunt doen is een POST request maken, en dan forwarden ;)
Let op dat je bij zoekacties als '..' rare resultaten kunt krijgen.

Ja, maar dan heb ik geen url meer met 't geen wat je zoekt erin?
Gewijzigd op 14/07/2010 10:51:56 door Michael -
 
P Lekensteyn

P Lekensteyn

14/07/2010 11:43:25
Quote Anchor link
Dat is niet waar.
Heel simpel voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$query
= '';
if($_SERVER['REQUEST_METHOD'] == 'POST'){
   if(isset($_POST['q']) && is_string($_POST['q'])) $query = $_POST['q'];
   header('Location: /zoeken/'.urlencode($query));
   exit;
}

$url = $_SERVER['REQUEST_URI'];
$qmPos = strpos($url, '?');
if($qmPos !== FALSE){
   $url = substr($url, 0, $qmPos);
}

$searchPos = strpos($url, '/search/');
if($searchPos !== FALSE){//als er een zoekwoord is
   $query = urldecode(substr($url, $searchPos+8));
}

?>

<form action="/zoeken" method="post">
<input type="text" name="q" value="<?php echo htmlentities($query);?>" />
<input type="submit" value="Zoeken" />
</form>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.