Mod_rewrite werkt niet

  • Ik maak gebruik van mod_rewrite maar hij werkt niet.


    Dit gebruik ik:


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


    De originele link is:


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


    Maar als ik dan


    PHP
    /messages/new/jackie.html


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


    PHP
    <input type=\"text\" name=\"to\" value=\"" . $_GET['to'] . "\">


    Wat doe ik fout?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Guest, wil je besparen op je domeinnamen? (ad)
  • verander dit stukje
    ([^/]*)
    naar
    (*.)
    en kijk even wat hij dan doet!



    voor de rest pakt hij de messages en new wel goed?

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Ja dat werkt allemaal perfect.


    Dit is trouwens mijn .htaccess



    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.

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • je zet 2 keer een rewriterule met &message_id en &id als 3de parameter.


    doe is $_GET['message_id'];!

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Ik doe geen 2 keer een rewriteurl met message_id.


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


    PHP
    <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?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • 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


    PHP
    <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!

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • 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?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • 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..

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • PHP
    ^([^/]*)/([^/]*)/([^/]*).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.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!