[htaccess] Rewrite Rule

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • DarkFire
  • Registratie: November 2003
  • Laatst online: 06-08-2023
Hallo Allemaal,

Ik zit met een klein probleempje, ik probeer via htaccess en rewrite rule's mijn url's iets vriendelijker te maken, hieronder een voorbeeld link zoals die nu is:

index.php?pagina=showroom&categorie=printers&nummer=1

/* ter vermelding: 'nummer' staat voor het pagina nummer */

Nu heb ik het via een omslachtige manier tot 'nummer' werkend gekregen, ondanks dat ik de nummers er nog niet in heb weet ik dat er een makkelijkere manier is namelijk zo:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)/(.*)/ index.php?pagina=$1&categorie=$2&nummer=$3
RewriteRule ^(.*)/(.*)/(.*) index.php?pagina=$1&categorie=$2&nummer=$3
RewriteRule ^(.*)/(.*)/ index.php?pagina=$1&categorie=$2
RewriteRule ^(.*)/(.*) index.php?pagina=$1&categorie=$2
RewriteRule ^(.*)/ index.php?pagina=$1
RewriteRule ^(.*) index.php?pagina=$1


dit krijg ik alleen niet werkend, heeft iemand een idee?


de code die wel werkt: (hier werkt het eind met &nummer=1 niet, anders zou ik deze wel gebruiken)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^printers/([^.?/]+)$ printers/$1/ [R]
RewriteRule ^printers/([^.?/]+)/$ http://www.site.nl/index....egorie=printers$nummer=$1

RewriteRule ^showroom/([^.?/]+)$ showroom/$1/ [R]
RewriteRule ^showroom/([^.?/]+)/$ http://www.site.nl/index....ina=showroom&categorie=$1

RewriteRule ^([^.?/]+)/$ /index.php?pagina=$1
RewriteRule ^([^.?/]+)$ /index.php?pagina=$1

RewriteRule ^pagina$ /index.php
RewriteRule ^pagina/$ /index.php


weet iemand hoe ik de code wel werkend kan krijgen?

Of weet iemand een andere manier om van :
index.php?pagina=showroom&categorie=printers&nummer=1
een goede rewrite rule te krijgen?

alvast bedankt

[ Voor 12% gewijzigd door DarkFire op 04-02-2006 14:01 ]


Acties:
  • 0 Henk 'm!

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 16-09 16:02

JHS

Splitting the thaum.

Je doet nu (.*), wat dus any character is, maal zoveel, dus de gehele url. Wat dacht je van zoiets:

code:
1
2
3
4
RewriteEngine On

RewriteRule ^(\w+)/(\w+)/(\d+)$ $1/$2/$3/ [R,L]
RewriteRule ^(\w+)/(\w+)/(\d+)/$ index.php?pagina=$1&catagorie=$2&nummer=$3 [L]


Als je bijvoorbeeld ook alleen /showroom/ of /showroom/printers/ werkzaam wil krijgen kan je zelf denk ik wel uitfiguren hoe dat moet :) .

DM!


Acties:
  • 0 Henk 'm!

  • DarkFire
  • Registratie: November 2003
  • Laatst online: 06-08-2023
bedankt!, ik snap nu wat ik fout deed


mag wel slotje op

[edit]
voor de volgende met soort gelijke vragen/problemen, op onderstaande site word het ook duidelijk met voorbeelden uitgelegd.

http://designhulp.nl/arti...friendly-urls-mod-rewrite

[ Voor 65% gewijzigd door DarkFire op 04-02-2006 18:40 ]


Acties:
  • 0 Henk 'm!

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 16-09 16:02

JHS

Splitting the thaum.

mag wel slotje op
in principe worden er op 'opgeloste' topics geen slotjes gedaan, zodat mensen later als dat nodig blijkt te zijn nog kunnen reageren :) .

DM!


Acties:
  • 0 Henk 'm!

Verwijderd

Ik ben bezig met het optimaliseren van mijn webshop,

Ik de header er ivm zoekmachine optimalisatie beter uit laten zien:
http://www.shop.nl/page.php als http://www.shop.nl/
http://www.shop.nl/page.php?page=informatie als http://www.shop.nl/informatie/
http://www.shop.nl/page.php?page=informatie?cat=1 als http://www.shop.nl/informatie/1/

In .htaccess, heb ik de volgende code staan:
RewriteEngine On
RewriteRule ^(\w+)/(\w+)/(\d+)$ $1/$2/ [R,L]
RewriteRule ^(\w+)/(\w+)/(\d+)/$ page.php?page=$1&cat=$2 [L]

Volgens mij geheel hetzelfde als in de eerdere posts, ik krijg het echer niet werkend.
designhulp.nl is helaas off-line

Wie heeft de oplossing?

Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 22:47
Simpel, vergeet dat moeilijke gedoe met rewrite rules en gebruik een pagehandler die naar de URL zelf kijkt.

htaccess:
PHP:
1
2
RewriteEngine on
RewriteRule !^(favicon\.ico|templates/) index.php [L]


En in je index:
PHP:
1
2
$param_list = array_pad(array_slice(explode("/",strtolower(rtrim($_SERVER["REDIRECT_URL"],"/"))), 1),2,"");
$params = array_map('htmlspecialchars', $param_list);


$params[0] zal in jou geval bijvoorbeeld informatie bevatten, $params[1] het getal, etc. Simpele switch erachter en je bent klaar.

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

Verwijderd

Helaas kan ik het moelijke gedoe met rewrite rules niet vergeten, de maker van de website heeft me dat praktisch onmogelijk gemaakt.

Het is me gelukt om op http://www.shop.nl/informatie/1/ de pagina :
http://www.shop.nl/page.php?page=informatie?cat=1 te tonen. (zonder dat de locatie http://www.shop.nl/informatie/1/ daarwerkelijk bestaat)

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/(.*)/$ page.php?page=$1&cat=$2 [L]

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/$ page.php?page=$1 [L]

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ page.php [L]

Internet Explorer laat nu geen echter afbeeldingen of stylesheets zien (firefox wel), iemand ervaring met deze prolemen?

Hoe krijg ik het voor elkaar dat http://www.shop.nl/page.php?page=informatie?cat=1 ook nog naar http://www.shop.nl/informatie/1/ redirect?

Acties:
  • 0 Henk 'm!

  • deCube
  • Registratie: Mei 2006
  • Laatst online: 13-09 09:14
Verwijderd schreef op donderdag 15 maart 2007 @ 10:43:
knip

Internet Explorer laat nu geen echter afbeeldingen of stylesheets zien (firefox wel), iemand ervaring met deze prolemen?

knip
Hele url's, als in http://shop.nl/images/img.ext of http://shop.nl/style/style.css, ipv alleen images/img.ext of style/style.css.

[ Voor 6% gewijzigd door deCube op 19-03-2007 15:09 ]

Work hard & be brave.

Pagina: 1