Bekijk Volledige Versie : [Apache] Problemen met RewriteEngine (2)
Maarten Wierda
24/03/04, 09:35
(Ik heb dit bericht reeds gisteravond geprobeerd te posten maar ik zie
niets verschijnen. Mijn excuses indien ik dit bericht dubbel heb gepost)
Beste lezers van n.i.w.s-s,
Ik heb nogmaals een vraag betreft RewriteEngine. Zoals al eerder vermeld
probeer ik /mooie/ url's te faken middels een htaccess-bestand.
Voorbeeld. In plaats van index.php?pg=articles&aid=5 wil ik de volgende
url hanteren, voorbeeld.com/articles/5.
Via een artikel op internet en hulp van Daniel en Ronald in deze
nieuwsgroep ben ik er reeds in geslaagd de REQUEST_URI in een bepaald
php-bestand (index.php in mijn geval) te verwerken (volgens het
voorbeeld dus 'articles/5'.
Mijn htaccess-bestand ziet er als volgt uit:
RewriteEngine on
RewriteCond %{REQUEST_URI} !\/_tests\/niceurl\/index\.php$
RewriteRule !\.(gif|jpg|png|css)$ /_tests/niceurl/index.php
Echter, wanneer ik index.php rechtstreeks aanroep, krijg ik een
zogenaamde '500 Internal Server Error'. In mijn log-bestanden staat geen
verdere informatie.
Zou iemand mij dusdanig op weg kunnen helpen zodat bovengenoemde
foutmelding niet meer optreedt?
Bij voorbaat dank.
--
Cheers, Maarten Wierda
"Old school, new school.
Shit, I didn't go to school!"
Michiel de Roo
24/03/04, 16:15
Maarten Wierda wrote:
> (Ik heb dit bericht reeds gisteravond geprobeerd te posten maar ik zie
> niets verschijnen. Mijn excuses indien ik dit bericht dubbel heb gepost)
>
> Beste lezers van n.i.w.s-s,
>
> Ik heb nogmaals een vraag betreft RewriteEngine. Zoals al eerder vermeld
> probeer ik /mooie/ url's te faken middels een htaccess-bestand.
>
> Voorbeeld. In plaats van index.php?pg=articles&aid=5 wil ik de volgende
> url hanteren, voorbeeld.com/articles/5.
>
> Via een artikel op internet en hulp van Daniel en Ronald in deze
> nieuwsgroep ben ik er reeds in geslaagd de REQUEST_URI in een bepaald
> php-bestand (index.php in mijn geval) te verwerken (volgens het
> voorbeeld dus 'articles/5'.
Is dat wat jouw voorbeeld zou moeten doen ? Dan klopt het niet. Zoiets
lijkt mij beter:
RewriteEngine On
RewriteRule articles/([^/]*)/* index.php?pg=articles&aid=$1
>
> Mijn htaccess-bestand ziet er als volgt uit:
>
> RewriteEngine on
> RewriteCond %{REQUEST_URI} !\/_tests\/niceurl\/index\.php$
> RewriteRule !\.(gif|jpg|png|css)$ /_tests/niceurl/index.php
>
> Echter, wanneer ik index.php rechtstreeks aanroep, krijg ik een
> zogenaamde '500 Internal Server Error'. In mijn log-bestanden staat geen
> verdere informatie.
>
> Zou iemand mij dusdanig op weg kunnen helpen zodat bovengenoemde
> foutmelding niet meer optreedt?
>
Op mijn server werkt deze prima. Wat ik ook bezoek in directory niceurl,
ik krijg altijd index.php. Aan je RewriteRule zal het dus niet liggen.
--
Michiel de Roo.
Online concert agenda voor de stad Utrecht:
http://www.utrecht-live.nl
Nico Coesel
24/03/04, 17:15
Maarten Wierda <maartenAT@norecessDOT.com> wrote:
>(Ik heb dit bericht reeds gisteravond geprobeerd te posten maar ik zie
>niets verschijnen. Mijn excuses indien ik dit bericht dubbel heb gepost)
>
>Beste lezers van n.i.w.s-s,
>
>Ik heb nogmaals een vraag betreft RewriteEngine. Zoals al eerder vermeld
>probeer ik /mooie/ url's te faken middels een htaccess-bestand.
>
>Voorbeeld. In plaats van index.php?pg=articles&aid=5 wil ik de volgende
>url hanteren, voorbeeld.com/articles/5.
>
>Via een artikel op internet en hulp van Daniel en Ronald in deze
>nieuwsgroep ben ik er reeds in geslaagd de REQUEST_URI in een bepaald
>php-bestand (index.php in mijn geval) te verwerken (volgens het
>voorbeeld dus 'articles/5'.
>
>Mijn htaccess-bestand ziet er als volgt uit:
>
>RewriteEngine on
>RewriteCond %{REQUEST_URI} !\/_tests\/niceurl\/index\.php$
>RewriteRule !\.(gif|jpg|png|css)$ /_tests/niceurl/index.php
>
>Echter, wanneer ik index.php rechtstreeks aanroep, krijg ik een
>zogenaamde '500 Internal Server Error'. In mijn log-bestanden staat geen
>verdere informatie.
>
>Zou iemand mij dusdanig op weg kunnen helpen zodat bovengenoemde
>foutmelding niet meer optreedt?
Je kunt de rewrite log aanzetten, dan zie je precies wat Apache met je
URL probeert te doen. Ik vermoed dat je rewrite rules roet in het eten
gooien.
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
Maarten Wierda
25/03/04, 15:45
Michiel de Roo wrote:
[mooie/ url's te faken middels een htaccess-bestand]
>> Voorbeeld. In plaats van index.php?pg=articles&aid=5 wil ik de
>> volgende url hanteren, voorbeeld.com/articles/5.
>
> Is dat wat jouw voorbeeld zou moeten doen ? Dan klopt het niet.
Want?
> Zoiets lijkt mij beter:
>
> RewriteEngine On
> RewriteRule articles/([^/]*)/* index.php?pg=articles&aid=$1
In mijn voorbeeld had ik 't inderdaad over 'articles' maar ik wil
eigenlijk alle url's gaan 'faken'. Indien een bestand daadwerkelijk
bestaat, wil ik dit bestand includen, en anders wil ik dus de
REQUEST_URI exploden op '/' en vervolgens de variabelen verwerken.
Volgens mij werkt een website als <http://www.alistapart.com/> ook op
deze manier.
>> Echter, wanneer ik index.php rechtstreeks aanroep, krijg ik een
>> zogenaamde '500 Internal Server Error'. In mijn log-bestanden staat
>> geen verdere informatie.
>
> Op mijn server werkt deze prima. Wat ik ook bezoek in directory niceurl,
> ik krijg altijd index.php. Aan je RewriteRule zal het dus niet liggen.
<schaam>
Het lag dus toch aan de code in 'index.php'. Erg slordig van mij. Ik
denk dat de auteur van <http://www.alistapart.com/articles/succeed/>
$SCRIPT_FILENAME verwart met $PHP_SELF. En dat heb ik niet even
gecontroleerd :(
</>
Bedankt voor je reactie.
--
Cheers, Maarten Wierda
cp: The Wipers - Is This Real?
"Old school, new school.
Shit, I didn't go to school!"
Maarten Wierda
25/03/04, 15:55
Nico Coesel wrote:
>>Echter, wanneer ik index.php rechtstreeks aanroep, krijg ik een
>>zogenaamde '500 Internal Server Error'. In mijn log-bestanden staat geen
>>verdere informatie.
>
> Je kunt de rewrite log aanzetten, dan zie je precies wat Apache met je
> URL probeert te doen. Ik vermoed dat je rewrite rules roet in het eten
> gooien.
Ik ben er inmiddels achter dat het aan de code in index.php lag. Bedankt
voor je reactie.
--
Cheers, Maarten Wierda
"Old school, new school.
Shit, I didn't go to school!"
Maarten Wierda
28/03/04, 18:45
Maarten Wierda wrote:
[mooie/ url's te faken middels een htaccess-bestand]
>>> Voorbeeld. In plaats van index.php?pg=articles&aid=5 wil ik de
>>> volgende url hanteren, voorbeeld.com/articles/5.
>>
>> Is dat wat jouw voorbeeld zou moeten doen ? Dan klopt het niet.
>
> Want?
Daar ben ik inmiddels achter. Tenminste, ik denk dat jij dit bedoelde.
Het klopt niet omdat ik directories als /css, /images en /admin niet
meer in kan.
Hoe zouden jullie dit doen? Voor ieder gedeelte in de pagina een aparte
conditie opstellen? Kan ik mijn huidige .htaccess [1] zo omvormen dat
behalve afbeeldingen, css- en js-bestanden ook bepaalde directories
/niet/ worden doordgestuurd naar index.php?
Bij voorbaat dank.
[1]
RewriteEngine on
RewriteCond %{REQUEST_URI} !\/kraaienest\/index\.php$
RewriteRule !\.(gif|jpg|png|css|js)$ /kraaienest/index.php
--
Cheers, Maarten Wierda
"Old school, new school.
Shit, I didn't go to school!"