[apache / mod_rewrite] *.php?page=12 -> page_12.html

Pagina: 1
Acties:

Onderwerpen


  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 16-10 13:42
Ik heb een beetje aan het experimenteren met mod rewrite voor een gastenboek.

Nu heb ik het volgende in een .htacces staan
code:
1
2
3
RewriteEngine On
RewriteRule ^index.html index.php
RewriteRule ^page/([0-9]*).html index.html?page=$1


Als ik nu in de browser inde.html in type, dan krijg ik netje index.php
en als `page_09.html` intype dan wordt die ook netjes naar index.html?page=09 gelinkt.


Maar...
Hoe doe ik dit in de broncode?
Als ik
PHP:
1
print("<a href=\"index.php?page=".$page."\">pagina: ".$page."</a>\n";


Dan linkt ie gewoon naar index.php?page=nummer (dat staat dan ook in de adresballk.)

Nou kan ik dat gewoon veranderen naar
PHP:
1
print("<a href=\"page_".$page.".html\">pagina: ".$page."</a>\n");



Maar hoe moet dat dan als het op een server draait zonder mod_rewrite :?
Moet ik dan twee verschillende versies maken.

De URL rewriting Guide is hier niet echt duidelijk over, en de topics in de search ook niet.

Verwijderd

Misschien is het een idee om eerst te checken wat de "opvraag URL" was (de variabele naam in PHP ben ik eventjes kwijt, zie phpinfo();). Als dit bv. page_xx.html is weet je dat de rewrite engine werkt, anders niet.

[edit]
Maak bv een functie die de goede URL voor je genereerd met het paginanummer als argument. Redelijke fullproof oplossing lijkt me.. Succes!

[ Voor 28% gewijzigd door Verwijderd op 18-11-2003 11:38 ]