Bekijk Volledige Versie : Apache Rewrite
Rico [momfer]
20/06/03, 19:05
Hallo NIWS-S'ers
Momenteel ben ik bezig om de pagina's van mijn werkgever om te bouwen naar
template-gestuurd. Daarvoor worden de pagina's dan opgevraagd met:
http://mijndomein.nl/index.php?content=benaming
In de oude site was de opbouw
http://mijndomein.nl/benaming.php
Is er een mogelijkheid om door gebruikmaking van de oude benaming toch in de
nieuwe opzet op de juiste pagina te komen????
Ik dacht zelf aan RewriteConditions/Rules.
Al flink gegoogled en ge'www.apache.org't maar ik kom er niet uit.
Dit heb ik onder andere geprobeerd, echter zonder beoogde resultaat
RewriteEngine on
RewriteRule [.*]\.php$ index.php?content=%{REQUEST_URI}
Hopelijk weet een van jullie raad :)
ALvast bedankt,
Rico
"Rico [momfer]" <momfertjeNOspam@hotmail.com> wrote in message
news:bcvelh$ctt$1@news1.tilbu1.nb.home.nl...
> Hallo NIWS-S'ers
>
> Momenteel ben ik bezig om de pagina's van mijn werkgever om te bouwen naar
> template-gestuurd. Daarvoor worden de pagina's dan opgevraagd met:
>
> http://mijndomein.nl/index.php?content=benaming
>
>
> In de oude site was de opbouw
>
>
> http://mijndomein.nl/benaming.php
Kijk eens naar MultiViews in Apache.
laterz
Chris
Rico [momfer]
20/06/03, 20:35
Chris wrote:
> "Rico [momfer]" <momfertjeNOspam@hotmail.com> wrote in message
> news:bcvelh$ctt$1@news1.tilbu1.nb.home.nl...
>> Hallo NIWS-S'ers
>>
[probleem-beschrijving]
>
> Kijk eens naar MultiViews in Apache.
Hallo Chris,
Ik heb gekeken op de Apache site op onderstaande URL.
http://httpd.apache.org/docs/content-negotiation.html
Ik zie niet helemaal hoe ik hiermee mijn probleem zou kunnen oplossen. Kun
je misschien een hint/voorbeeld geven?
Groet
Rico
Daniel Tryba
21/06/03, 03:35
Rico [momfer] <momfertjeNOspam@hotmail.com> wrote:
> Dit heb ik onder andere geprobeerd, echter zonder beoogde resultaat
>
> RewriteEngine on
> RewriteRule [.*]\.php$ index.php?content=%{REQUEST_URI}
>
Mogelijk gevaarlijk omdat je nu naar een index.php verwijst in een
relatief path.
Niet getest maar ik zou het volgende gebruiken:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteRule \.php$ /index.php?content=%{REQUEST_URI} [R]
Je voorkomt loops, je verwijst altijd naar de index.php in de root en de
gebruikers krijgen een redirect naar de correcte pagina, zodat
gebruikers meteen de goede kunnen bookmarken en bv searchengines netjes
geredirect worden naar de nieuwe paginas in de hoop dat de "foute"
zullen verdwijnen.
BTW ipv gebruik te maken van de querystring zou je eens kunnen kijken
naar de pahtinfo variabele. Heeft bv als voordeel dat indien je
dynamishce plaatjes voorschotelt je kunt verwijzen naar
/index.php/plaatje.jpg en browsers de naam plaatje.jpg als suggestie aan
de gebruiker tonen indien die deze wil dowloaden.
--
Daniel Tryba
Rico [momfer]
21/06/03, 11:35
Daniel Tryba wrote:
> Rico [momfer] <momfertjeNOspam@hotmail.com> wrote:
>> Dit heb ik onder andere geprobeerd, echter zonder beoogde resultaat
>>
[knip RewriteRule met loopgevaar]
> Niet getest maar ik zou het volgende gebruiken:
>
> RewriteEngine on
> RewriteCond %{REQUEST_URI} !^/index\.php
> RewriteRule \.php$ /index.php?content=%{REQUEST_URI} [R]
>
> Je voorkomt loops, je verwijst altijd naar de index.php in de root en
> de gebruikers krijgen een redirect naar de correcte pagina, zodat
> gebruikers meteen de goede kunnen bookmarken en bv searchengines
> netjes geredirect worden naar de nieuwe paginas in de hoop dat de
> "foute" zullen verdwijnen.
Dank voor je aanvulling Daniƫl, het werkt nu prima bij mij thuis! (nu bij
Ladot nog :)
> BTW ipv gebruik te maken van de querystring zou je eens kunnen kijken
> naar de pahtinfo variabele. Heeft bv als voordeel dat indien je
> dynamishce plaatjes voorschotelt je kunt verwijzen naar
> /index.php/plaatje.jpg en browsers de naam plaatje.jpg als suggestie
> aan de gebruiker tonen indien die deze wil dowloaden.
Hmm. Dit is nieuw voor mij, maar klinkt wel interessant. Zou je dit eens wat
nader kunnen toelichten, met een voorbeeld misschien?
Rico
Daniel Tryba
21/06/03, 15:20
Rico [momfer] <momfertjeNOspam@hotmail.com> wrote:
>> BTW ipv gebruik te maken van de querystring zou je eens kunnen kijken
>> naar de pahtinfo variabele. Heeft bv als voordeel dat indien je
>> dynamishce plaatjes voorschotelt je kunt verwijzen naar
>> /index.php/plaatje.jpg en browsers de naam plaatje.jpg als suggestie
>> aan de gebruiker tonen indien die deze wil dowloaden.
>
> Hmm. Dit is nieuw voor mij, maar klinkt wel interessant. Zou je dit eens wat
> nader kunnen toelichten, met een voorbeeld misschien?
bv http://localhost/index.php/foo/bar.php
(dit zou equivalent kunnen zijn aan
http://localhost/index.php?dir=foo&file=bar.php)
Opgevraagde pagina is dan in dit geval index.php met als argumenten
$_SERVER['PATH_INFO']='/foo/bar.php'. Dat is IMHO vooral nuttig indien
je bv controle wilt uitoefenen wie/hoe iets word "gedownload". Je plaats
in zulk geval de betreffende file buiten de documentroot en controleerd
bv met sessions/database of iemand erbij mag en dan bv met readfile() de
file doorsturen (zie de counter thread).
Als je zoals jij schijnbaar wil slecht 1 pagina hebt (de controller dus
als we het in MCV termen bekijken), kan het gebruik van PATH_INFO zeer
nuttig zijn om een structuur/hierarchie te behouden en op een simpele
manier de goede template te vinden voor de output (view). Dit kan je dus
inderdaad regelen met de rewriteengine (wellicht dat je die redirect
eruit wilt halen zodat alles "onderwater" gebeurd) of met een custom
"404" handler.
Echter ben ik zelf niet zo gecharmeerd van 1 controller (maar is elke
php file zijn eigen controller welke 1 framework object gebruikt
(model)), vanwege de starheid dit dat met zich meebrengt.
--
Daniel Tryba