Nu ben ik druk een website aan het bouwen en het begint te vorderen, maar ik loop tegen een probleem aan.
Ik wil met behulp van mod_rewrite mijn URLs rewriten, wat perfect werkt. Lokaal draait het allemaal als een zonnetje, maar zodra ik het boeltje upload krijg ik een error 500. Nu vermoed ik dat het aan het versie verschil ligt. Lokaal gebruik ik namelijk Apache 2.0.55 en op de server draait versie 1.3.33 van Apache.
Na wat debuggen blijkt dat het aan mijn rule ligt die ik heb ingebouwd om te zorgen dat alle andere rules alleen uit worden gevoerd als er geen bestaand bestand, map of symbolic link wordt opgevraagt.
Apache 2 heeft geen moeite met deze rule en behandeld fysieke bestanden nu via deze rule, wat ervoor zorgt dat de hierna komende geen effect meer hebben. Apache 1.3 geeft hierdoor een internal server error en in de error_log komt te staan: mod_rewrite: maximum number of internal redirects reached.
Ik heb nu al een poos in de Apache 1.3 manual zitten zoeken, maar kom er niet echt uit waarom deze rule niet zou mogen. Laat staan waarom er oneindig wordt geredirect. Ik heb ook niet zoveel zin om boven iedere rule te zetten dat deze niet mag worden uitgevoerd als het een bestand/map betreft.
Heeft iemand dit probleem ook meegemaakt of misschien een idee wat de oplossing zou kunnen zijn?
Ik wil met behulp van mod_rewrite mijn URLs rewriten, wat perfect werkt. Lokaal draait het allemaal als een zonnetje, maar zodra ik het boeltje upload krijg ik een error 500. Nu vermoed ik dat het aan het versie verschil ligt. Lokaal gebruik ik namelijk Apache 2.0.55 en op de server draait versie 1.3.33 van Apache.
Na wat debuggen blijkt dat het aan mijn rule ligt die ik heb ingebouwd om te zorgen dat alle andere rules alleen uit worden gevoerd als er geen bestaand bestand, map of symbolic link wordt opgevraagt.
code:
1
2
3
4
5
6
7
8
9
10
| # Zet de URL rewriter aan
RewriteEngine On
# Fysieke file aanvraag gaat altijd voor:
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule (.*) $1 [L]
[verdere rules] |
Apache 2 heeft geen moeite met deze rule en behandeld fysieke bestanden nu via deze rule, wat ervoor zorgt dat de hierna komende geen effect meer hebben. Apache 1.3 geeft hierdoor een internal server error en in de error_log komt te staan: mod_rewrite: maximum number of internal redirects reached.
Ik heb nu al een poos in de Apache 1.3 manual zitten zoeken, maar kom er niet echt uit waarom deze rule niet zou mogen. Laat staan waarom er oneindig wordt geredirect. Ik heb ook niet zoveel zin om boven iedere rule te zetten dat deze niet mag worden uitgevoerd als het een bestand/map betreft.
Heeft iemand dit probleem ook meegemaakt of misschien een idee wat de oplossing zou kunnen zijn?
[ Voor 8% gewijzigd door Mac_Cain13 op 21-12-2005 21:09 ]