mod_rewrite (alweer)

Pagina: 1
Acties:

  • gvdh81
  • Registratie: Juli 2001
  • Laatst online: 28-04 19:57

gvdh81

To got or not to got..

Topicstarter
Allle topics doorgelezen die er al waren, antwoord zat er niet bij. Google en howtos leverde ook niets op...

# RewriteRule
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/shared/
RewriteRule ^(.*)/$ /index.php?page=$1

Werkt perfect, dwz.
/bla/
wordt: /index.php?page=bla

maar
/bla
wordt: Error 404

Graaaag hulp, ik heb echt alles geprobeerd. Zelf zat ik te denken aan het volgende:
indien zonder laatste /, dan rewriten naar url met "/" op het einde, maar ik weet niet hoe dit voor mekaar is te krijgen.... Ben er al 6 uur mee bezig :( :(

Verwijderd

RewriteRule ^(.*)$ /index.php?page=$1 zou toch moeten werken??
die $ in de regexp staat voor einde van de regel en als je dus die / ervoor zet moet er een slash aan het einde van de regel staan voordat hij hem rewrite

  • KnoppenSpook
  • Registratie: Augustus 2000
  • Laatst online: 04-09-2023
is het niet iets met de 'niet' juiste host in je httpd.conf?

/me weet geen leuke quote voor in zijn signature


  • gvdh81
  • Registratie: Juli 2001
  • Laatst online: 28-04 19:57

gvdh81

To got or not to got..

Topicstarter
Als ik dus dit doe:
RewriteRule ^(.*)$ index.php?page=$1

Krijg ik zowel bij / als geen / te zien:
page=index.php

.. :P

[ Voor 167% gewijzigd door gvdh81 op 20-02-2003 16:25 ]


Verwijderd

Vreemd. Ik heb het even bij mij, lokaal getest en het werkte perfect. Die regexp is dus goed en dus zal het ergens anders aan moeten liggen. |:(

  • gvdh81
  • Registratie: Juli 2001
  • Laatst online: 28-04 19:57

gvdh81

To got or not to got..

Topicstarter
Woohoow !!

Het is opgelost (toch met behulp van een draadje op tweakers) :p

# Om verzoekjes op te lossen die de laatste "/" missen
Options ExecCGI FollowSymLinks Includes MultiViews

# RewriteRule
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/shared/
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ index.php?page=$1 [NC,QSA,L]

Ofwel:
Indien er bestanden aangeroepen worden vanuit /shared/ :: Niets doen
Indien de huidige URI al /index.php bevat :: Niets doen
Indien anders; doorsturen 1 op 1

Verwijderd

Mooi.. dat is geregeld... kan ik weer tv gaan kijken :P

  • gvdh81
  • Registratie: Juli 2001
  • Laatst online: 28-04 19:57

gvdh81

To got or not to got..

Topicstarter
Nu wil ik ook graag dat alleen vanaf http://*.site.nl/ plaatjes gelinkt mogen worden, en vanaf andere sites dus niet.

# RewriteRule
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} !^/shared/
RewriteRule ^(.*)$ index.php?page=$1 [NC,QSA,L]

Ofwel: Graag zou ik het zo hebben dat alle urls worden omgeschreven naar index.php (dit werkt al) maar tevens dat aanroepen van gif|jpg|css|js van andere sites niet werken.. Is dit uberhaupt wel mogelijk, of wil ik nu te veel?

De scripts die hier al over dit topic staan werken niet bij mij..
(search leverde geen bruikbare info op)

[ Voor 185% gewijzigd door gvdh81 op 21-02-2003 19:11 . Reden: foutje in mijn css ]


  • gvdh81
  • Registratie: Juli 2001
  • Laatst online: 28-04 19:57

gvdh81

To got or not to got..

Topicstarter
Thanx, laatste vraagje dan is ie af:

als ik de url aanroep waar die mod_rewrite op draait:
http://subdomein.test.nl

werkt mijn css niet

zo wel:
http://subdomein.test.nl/

Nu had ik het zo gemaakt dat hij 1x per sessie de url redirect naar de versie met "/" zodat mijn css werkt, aangezien request_uri en met javascript ik netjes terugkrijg dat ik al op de "/" zit ook al is dat niet het geval....

Je snapt waar ik heen wil, hoe kan ik forceren dat er een "/" achter staat? Of is dat niet mogelijk? Aangezien mensen na het eerste bezoek ff naar een andere site kunnen surfen en dan dus terug kunnen komen op de "niet-/" versie... :X

[ Voor 15% gewijzigd door gvdh81 op 24-02-2003 09:33 ]


Verwijderd

Je zou in je PHP scriptjes kunnen kijken met welke link het script is aangeroepen. Hoe dat zo precies moet weet ik niet, staat vast wel op php.net in de FAQ. Je kan ook in de HTML code geen relatieve URL gebruiken voor de css maar een absolute. Dus niet iets als "../css/blaat.css" maar iets als "http://subdomein.test.nl/css/blaat.css". Dat zou denk ik wel moeten werken en het lijkt mij de makkelijkste oplossing >:)

  • gvdh81
  • Registratie: Juli 2001
  • Laatst online: 28-04 19:57

gvdh81

To got or not to got..

Topicstarter
Go(t), hehe, daar had ik nog niet aan gedacht, nee serieus niet.. Zou wel moeten werken, zelf zat ik eraan te denken om zoiets te doen als,

index.php:
if request_uri = / then replace /home/
zoiets in php maar dan in jbf methode zodat je het snapt ;)

thanx

Verwijderd

Probeer altijd voor de simpelste oplossing te gaan. Je leert het na een tijdje van zelf wel. Ik heb het zo vaak gehad dat je continu aan het prutsen bent met iets en dat als je het een tijdje laat liggen en er opnieuw naar kijkt je met een geheel nieuwe, makkelijkere oplossing komt. _/-\o_ "Simplicity works!"

  • Freee!!
  • Registratie: December 2002
  • Laatst online: 29-04 20:07

Freee!!

Trotse papa van Toon en Len!

Verwijderd schreef op 26 februari 2003 @ 11:32:
Probeer altijd voor de simpelste oplossing te gaan. Je leert het na een tijdje van zelf wel. Ik heb het zo vaak gehad dat je continu aan het prutsen bent met iets en dat als je het een tijdje laat liggen en er opnieuw naar kijkt je met een geheel nieuwe, makkelijkere oplossing komt. _/-\o_ "Simplicity works!"
Betere benaming van dit principe:

KISS

(Keep It Simple, Stupid)

Het belangrijkste adagium in de hele IT ;)

The problem with common sense is that sense never ain't common - From the notebooks of Lazarus Long

GoT voor Behoud der Nederlandschen Taal [GvBdNT

Pagina: 1