Forum » Server-Side scripting » Mod_rewrite werkt niet
Hardstyle
Berichten: 225
avatar
Offline Stuur privebericht
Ik maak gebruik van mod_rewrite maar hij werkt niet.

Dit gebruik ik:

Code | Selecteer Alles
minimaliseren
1
2
RewriteEngine On
RewriteRule 
^([^/]*)/([^/]*)/([^/]*).html$ /index.php?a=$1&option=$2&to=$[L]


De originele link is:

Code | Selecteer Alles
minimaliseren
1
/index.php?a=messages&option=new&to=jackie


Maar als ik dan

Code | Selecteer Alles
minimaliseren
1
/messages/new/jackie.html


Doe kan vult hij in het vakje waar je je een gebruikersnaam moet invullen de gebruikersnaam niet in.

Code | Selecteer Alles
minimaliseren
1
<input type=\"text\" name=\"to\" value=\"" $_GET['to'] . "\">


Wat doe ik fout?
24-12-2010 18:58
Dit topic is 196 keer bekeken door 33 verschillende leden
Reacties op: "Mod_rewrite werkt niet"
1
Webdeveloper & Programmeu
Berichten: 1000
avatar
Offline Stuur privébericht
verander dit stukje
([^/]*)
naar
(*.)
en kijk even wat hij dan doet!


voor de rest pakt hij de messages en new wel goed?
24-12-2010 19:14
Hardstyle
Berichten: 225
avatar
Offline Stuur privébericht
Ja dat werkt allemaal perfect.

Dit is trouwens mijn .htaccess

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
Options -Indexes
Options 
+FollowSymLinks

AddType application
/x-httpd-php .php .inc
php_value magic_quotes_gpc off

RewriteEngine On
RewriteRule 
^([^/]*).html$ /index.php?a=$[L]
RewriteRule ^([^/]*)/([^/]*).html$ /index.php?a=$1&option=$[L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*).html$ /index.php?a=$1&option=$2&message_id=$[L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*).html$ /index.php?a=$1&option=$2&to=$[L]


Kan die geen problemen opleveren?

Ik zal het even proberen.

Iemand anders mis een andere oplossing??

@EDIT

Ik krijg dan een Internal Server Error.
Dus dat werkt niet.
24-12-2010 19:22
Webdeveloper & Programmeu
Berichten: 1000
avatar
Offline Stuur privébericht
je zet 2 keer een rewriterule met &message_id en &id als 3de parameter.

doe is $_GET['message_id'];!
24-12-2010 19:24
Hardstyle
Berichten: 225
avatar
Offline Stuur privébericht
Ik doe geen 2 keer een rewriteurl met message_id.

Een met &to=$3
Een met &message_id=$3

Code | Selecteer Alles
minimaliseren
1
<input type="text\" name=\"to\" value=\"" $_GET['to'] . "\">


Hij gaat uit de $_GET een variabele en die zet hem in de input!

Maar dat doet hij niet?

Of zie ik het verkeerd?
24-12-2010 19:27
Berichten: 637
avatar
Offline Stuur privébericht
@Jackie

Denk dat Niels dat bedoelt dat je 2 keer een 3de parameter gebruikt. En dat je van to in je input eens message_id moet maken. Verbeter me als ik het fout heb.
24-12-2010 19:32
Hardstyle
Berichten: 225
avatar
Offline Stuur privébericht
De bedoeling is als je een bericht bekijkt dan er onder het bericht staat.

Beantwoord

& op deze link klik je dan:

domain.com/messages/new/jackie.html

Dat is dezelfde link als:

domain.com/index.php?a=messages&option=new&to=jackie

Bij de input haalt hij uit de $_GET['a'] een persoon waarnaar die het moet verzenden

Code | Selecteer Alles
minimaliseren
1
<input type=\"text\" name=\"to\" value=\"" $_GET['to'] . "\">


Maar dat doe ie niet, snapt iedereen wat ik er mee bedoel?

Dus het moet "to" blijven!
24-12-2010 19:36
Berichten: 637
avatar
Offline Stuur privébericht
@Jackie

Als Niels bedoelt wat ik denk komt het omdat je 2 3de parameters hebt! Lees de volgende keer beter.
24-12-2010 19:42
Hardstyle
Berichten: 225
avatar
Offline Stuur privébericht
Die parameters zijn toch niet hezelfde?

Edit:
Bij de ene is het 'message_id' & bij de ene is het 'to'

Edit:
Het werkt wel als ik 'to' naar 'message_id' verander, ik snap het dat het dan niet werk zoals ik het wou.

Bedankt voor de hulp, weet iemand waarom het mij niet lukte?
24-12-2010 19:46
Webdeveloper & Programmeu
Berichten: 1000
avatar
Offline Stuur privébericht
waarom gebruik je dan niet gewoon een algemene naam voor message_id zodat je hem kan gebruiken als 3de parameter.

ik snap zowiezo niet dat je per see een get voor to moet hebben terwijl het alleen maar extra rules kost terwijl het allemaal heel kort kan blijven..
24-12-2010 20:09
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
^([^/]*)/([^/]*)/([^/]*).html$

Dat is het deel waartegen je url wordt vergeleken...
Dat deel is voor de laatste twee het zelfde...
Doordat allebij de L flag hebben staat de tweede er voor spek en bonen...
Als je er nou ^messages/([^/]*)/([^/]*).html$ van zou maken heb je nog maar twee variabelen over en kan je dus hebben wat je wilt.
25-12-2010 08:40
Reageer op: "Mod_rewrite werkt niet"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden