Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[HTML/HTACCESS] Form action met URL rewrite

Pagina: 1
Acties:

  • GandalfTheGrey
  • Registratie: Juli 2001
  • Laatst online: 12-11 16:36

GandalfTheGrey

Remember, Remember..

Topicstarter
Ik heb een website gemaakt met vacatures en een reactieformulier voor al deze vacatures. Nu ben ik bezig om met een .htaccess de links om te zetten naar gebruiksvriendelijke links voor de gebruiker :).

Ik heb een index.php die aan de hand van de variabelen de pagina's uit een CMS opbouwt. Nu gebruik ik een aparte process.php die de Form handling voor zijn rekening neemt. Als deze klaar is forward deze process.php naar index.php met de juiste variabelen (Dit werkt met de rewrite URLS).

De adressen worden als volgt:

Een vacature deeplink
http://www.root.nl/vacature/{$vacature_id}
Het versturen van het formulier is
http://www.root.nl/vacature/{$vacature_id}/versturen
De reactie op het verzonden formulier is
http://www.root.nl/vacature/{$vacature_id}/reactie

Als ik deze URL's met een anchor tag of in de browser typ werken ze allemaal.
Op het moment dat ik in mijn form action de URL rewrite opneem (http://www.root.nl/vacature/{$vacature_id}/versturen) met of zonder slash werkt dit niet. Ik krijg een 404. Het probleem is dus dat op het moment dat ik de form action verander van "/process.php" naar "http://www.root.nl/vacature/{$vacature_id}/versturen" ik een 404 krijg. Hoe los ik dit op?

HTAccess code

code:
1
2
3
4
5
6
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^vacature/([0-9]+)/versturen/?$ /process.php [L,QSA]
RewriteRule ^vacature/([0-9]+)/reactie/?$ /index.php?page_type=form&page_id=$1 [L]
RewriteRule ^vacature/([0-9]+)/?$ /index.php?page_type=vacature&page_id=$1 [L]


Formulier code
HTML:
1
2
3
<form enctype="multipart/form-data" method="POST" action="/vacature/13/versturen/">
<input type="hidden" name="vac_id" value="13" />
.. (enz)

[ Voor 20% gewijzigd door GandalfTheGrey op 08-06-2008 16:58 ]

Computer Specs


  • mithras
  • Registratie: Maart 2003
  • Niet online
code:
1
2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Deze twee regels toevoegen tussen je RewriteBase en RewriteRule, helpt dat?

  • GandalfTheGrey
  • Registratie: Juli 2001
  • Laatst online: 12-11 16:36

GandalfTheGrey

Remember, Remember..

Topicstarter
Bedankt voor je snelle reactie. Werkt helaas niet. Krijg meteen weer de 404. Als ik dan vervolgens nog een keer op "enter" ram in de adresbalk werkt het wel (maar processed die de form natuurlijk niet).

EDIT: Het werkt nu wel! Zat nog een foutje in de process.php forward (die een 404 opleverde). Bedankt.

[ Voor 33% gewijzigd door GandalfTheGrey op 08-06-2008 17:17 ]

Computer Specs


  • Blaise
  • Registratie: Juni 2001
  • Niet online
Pas op met die code van mithras. Die forward ALLES, behalve bestaande mappen en bestanden. Dat is niet altijd wat je wil.