PDA

Bekijk Volledige Versie : RewriteEngine on resultaart in Internal Server Error



appelsap
15/07/07, 21:06
Ik heb laatst een shared hosting pakket besteld bij Strato en wil nu gebruik maken van de mod_rewrite module.

Ik maak dus een .htaccess bestand en zet daar in:
RewriteEngine on

Dit zorgt er echter voor dat elke pagina die ik op vraag zorgt voor een 500 Internal Server Error

Als ik in de phpinfo van mijn PCextreme hosting kijk zie ik staan onder apache2handler: loaded_modules ...mod_rewrite, ...
Bij de phpinfo van mijn strato hosting zie ik niks staan van mod_rewrite. De PHPinfo van strato is te vinden op:
motor-movies.com/info.php

Hoe komt het dat ik deze error krijg? En nog belangrijker, hoe kan ik het oplossen?

Alvast bedankt!

Freakingme
15/07/07, 22:46
Je hebt vast wel toegang tot de raw (error-)log files? Zoja, kijk eens wat voor error hier in staat.

appelsap
16/07/07, 14:03
Ik heb volgens mij enkel toegang tot de acces file, niet tot de error log file

mijnip - - [16/Jul/2007:12:26:17 +0200] "GET /browse/Cross_en_Off_road HTTP/1.1" 404 230 "motor-movies.com/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"
Wat ik hier uit af leidt is dat er een Error 404 verkregen wordt.

Ik heb dus even in mijn .htaccess file ervoor gezorgd dat error 404 en 500 naar een custom pagina worden afgeleid. Als ik de "RewriteEngine On" uit mijn .htaccess haal, dan krijg ik mooi mijn eigen pagina te zien in geval van error 404 en 500, maar vanaf ik "RewriteEngine On" weer aan mijn .htaccess toevoeg krijg ik weer mijn internal server error (en niet mijn specifieke pagina)

ichosting
16/07/07, 14:09
En naar welke pagina's redirect je precies met MOD_REWRITE?
Ik neem aan dat je wel informatie aan de rewrite opgeeft?

Bijvoorbeeld:

Options -MultiViews
RewriteEngine On

RewriteRule ^page/([a-z-]*)$ /index.php?page=$1

Wat url: http://www.test.com/?page=testlink omzet naar http://www.test.com/page/testlink

appelsap
16/07/07, 14:39
Dat zorgt ook voor een Internal Server Error.
Vanaf ik nog maar RewriteEngine On typ krijg ik die error al.
Ik zit nu te denken om het via de error 404 afhandeling te doen, een stuk minder professioneel natuurlijk, maar het werkt wel.

ichosting
16/07/07, 14:50
Wat probeer je dan precies te doen? Geef eens een voorbeeldje als je wilt.

appelsap
16/07/07, 17:42
Ik wil dat:
url.com/browse/appel omgezet wordt naar browse.php?q=appel
Ik weet dat dit gewoon kan via .htaccess (ik gebruik het voor een andere site op mijn pcextreme hosting)
Echter wilt dat maar niet werken op mijn Strato hosting pakket waar deze site op draait.

appelsap
03/08/07, 16:15
Ok, even samenvatten:
Ik wil dus dat site.com/browse/appel verwerkt wordt door browse.php?q=appel (maar dat de URL, die de bezoeker ziet, natuurlijk hetzelfde blijft). Normaal gezien zou je dus zeggen "geen probleem, gebruik mod_rewrite".

Maar:

- mod_rewrite wordt niet ondersteund door de servers van Strato, vandaar dat ik Internal Server Error krijg.

- Een PHP script dat de errors 404 afhandelt werkt wel, maar hierdoor indexeert Google je dus ook niet.
Ik deed dus zo iets: In mijn .htaccess zette ik dat elke error 404 afgehandeld moest worden door een PHP script, dit script kijk dan wat de opgevraagde URL was, en gaf dan het betreffende PHP script. Werkt wel, maar zoals ik al zei geeft dat de verkeerde headers door (een HTTP 404 ipv een 200).
Ik heb nog

header('HTTP/1.1 200 OK',true);
aan mijn code toegevoegd, maar hij bleef de verkeerde HTTP/1.1 header doorgeven (een 404 ipv een 200)

- Na nog wat verder zoeken kwam ik dit tegen:


<Files browse>
ForceType application/x-httpd-php5
</Files>

Hierbij is het dus de bedoeling dat je site.com/browse aanroept, Apache zoekt naar het bestand "browse", zonder extensies, en dat moet hij dan normaal gezien verwerken door PHP5.
Maar... Apache laat het bestand niet door PHP verwerken. Hij biedt het bestand ter download, en zegt dat het een "application/x-httpd-php5" type bestand is.

Nu mijn vraag: Hoe kan ik er voor zorgen dat Apache dat bestand toch door PHP laat verwerken ipv als download aan te bieden.
Of mss zijn er nog methoden, waar ik over gekeken heb?

appelsap
08/08/07, 12:42
Ik heb het nu kunnen oplossen Apache Multiviews.
Toch bedankt iedereen!