Toon posts:

[.HTaccess] mod_rewrite vraag

Pagina: 1
Acties:

Verwijderd

Topicstarter
Naar aanleiding van een topic gisteren hier op dit forum vond ik dat het tijd voor mij was om vriendelijkere URL's te gaan gebruiken.

Wat ik wil hebben:
Als iemand de volgende URL intypt:
http://www.mijndomein.nl/1/2/

diegene dan doorgelinkt wordt naar:
http://www.mijndomein.nl/tutorials.php?cat=$1&id=$2

Hiervoor heb ik dit .htaccess bestand gemaakt:
RewriteEngine On
RewriteRule ^/(.*)/(.*)/ /tutorials.php?cat=$1&id=$2

De mod_rewrite module is geinstalleerd en het bestand tutorials.php bestaat, dus daar kan het voor zover ik weet niet aan liggen. Ik ben hier dus redelijk nieuw mee dus ik zal wel iets over het hoofd zien (het kan natuurlijk ook dat er gewoon niks van klopt).

Ik heb de search al gebruikt hier op GoT maar het is me niet gelukt dit probleem op te lossen.

Heeft iemand enig idee wat ik moet veranderen?

Bij voorbaat dank.

[ Voor 5% gewijzigd door Verwijderd op 01-01-2006 20:31 ]


Verwijderd

Die http://hostname hoort niet in de RewriteRule. De client heeft al verbinding gemaakt met de sever, en is al doorverwezen naar de juiste virtual host. Alleen de path ( /1/2/ ) is hier nog van belang.
Verder kun je bij het testen van RewriteRules het best even apart loggen wat er allemaal gebeurt. Zie de Apache manual

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

Probeer anders de rewrite manual (1.3 of 2.0) van Apache zelf.

Je moet in ieder geval je domeinnaam en protocol uit je rewriterule halen, het gaat namelijk om de request, niet om de vhost.

:w cheatah

[ Voor 4% gewijzigd door GX op 01-01-2006 20:30 ]


Verwijderd

Topicstarter
Sorry, de code die ik in de OP had gezet was oud, heb nu de code erin gezet die ik nu gebruik.

Die pagina's op apache.org had ik al gevonden bij het zoeken hier op GoT, maar ik ben er niet verder mee gekoment.

[ Voor 39% gewijzigd door Verwijderd op 01-01-2006 20:35 . Reden: Stukje vergeten ]


  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Wat gaat er eigenlijk fout :? . En afaik hoort de eerste / niet in je RewriteRule, ook niet bij waar hij de request naar toe moet sturen :) . Als laatste wordt het moeilijk om het einde te herkennen van een oneindig lange tekenreeks, waar ook /'es in mogen zitten. Dus ik denk dat je dat in \d moet veranderen :) . Dus zoiets? Tijdje geleden dat ik hiermee geprutst heb, dus de haakjes, en character groep kunnen verkeerd zijn... :

code:
1
RewriteRule ^(\d*)/(\d*)/ tutorials.php?cat=$1&id=$2

DM!


  • Reinstein
  • Registratie: Juni 2003
  • Laatst online: 03-12-2025

Reinstein

Half-Nul

Wat wel handig is is om tijdens het testen met ModRewrite alles te laten loggen. ModRewrite meldt dan wat hij/zij doet, je kan dan snel zien wat je fout doet.


code:
1
2
RewriteLog "/usr/local/var/apache/logs/rewrite.log"
RewriteLogLevel 9


Op level 9 worden er heel veel loggegevens geschreven, dus als het werkt kun je het beter amar weer uitzetten.

Open source modeltrein besturings software


Verwijderd

Topicstarter
Het probleem is dat als ik naar:
http://www.mijndomein.nl/1/2/ ga, ik dan deze 404-melding krijg:

The requested URL /1/2/ was not found on this server.


@JHS, met jouw oplossing lukt het jammer genoeg ook niet.

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

JHS schreef op zondag 01 januari 2006 @ 21:22:
Wat gaat er eigenlijk fout :? . En afaik hoort de eerste / niet in je RewriteRule, ook niet bij waar hij de request naar toe moet sturen :) . Als laatste wordt het moeilijk om het einde te herkennen van een oneindig lange tekenreeks, waar ook /'es in mogen zitten. Dus ik denk dat je dat in \d moet veranderen :) . Dus zoiets? Tijdje geleden dat ik hiermee geprutst heb, dus de haakjes, en character groep kunnen verkeerd zijn... :

code:
1
RewriteRule ^(\d*)/(\d*)/ tutorials.php?cat=$1&id=$2
regexgewijs zou
code:
1
^([^/]*)/([^/]*)/
een betere optie moeten zijn. Maar ik weet niet hoever mod_rewrite gaat met pregex-compliance.

Verwijderd

Topicstarter
Ik heb net deze site gevonden:
http://designhulp.nl/arti...friendly-urls-mod-rewrite

maar zelfs deze kant en klare voorbeelden willen niet werken.

Kan het aan de instellingen van de webserver liggen? (Dan moet dit topic misschien naar een ander forum)

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05-2025

GX

Nee.

Probeer je (.*) te vervangen met ([0-9]*) en kijk eens wat er dan gebeurd.

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Overigens zie ik mod_rewrite regexes praktisch altijd eindigen met $ in plaats van / :) .

DM!


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Staat multiviews wel aan?

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info

Pagina: 1