debian apache2 mod_rewrite

  • Community,


    Op het moment ben ik een website aan het overzetten van localhost naar de live server. Dit gaat allemaal prima, totdat ik 404 foutmeldingen kreeg. In de root (/home/user/private_html/) van de gebruiker staat en .htaccess bestand met o.a. het volgende erin;

    Apache Configuration
    RewriteEngine On
    RewriteRule ^panel panel.php


    Als ik dit localhost test (https://localhost/panel) dan werkt het prima en word ik doorverwezen naar https://localhost/panel.php. Probleem is nu alleen dat dit niet op mijn server werkt. Hierdoor ben ik even opzoek gegaan naar waar het aan kon liggen, maar ben er niet uit gekomen. Ik hoop dat iemand mij uit de brand kan helpen.


    Op de server (debian 7) draait Apache 2.2.22. Ik heb de rewrite mod door middel van de volgende commando geactiveerd;

    Code
    a2enmod rewrite
    /etc/init.d/apache2 restart


    Vervolgens heb ik de mod-enabled map gecontrolleerd, en de rewrite mod staat hier in geplaatst.


    Vervolgens heb ik de default site geopent, de default-ssl site en de site van de website waar het om gaat. Ik heb bij alle site's 'AllowOverride' van 'None' naar 'All' veranderd. Hierdoor ziet de site van de desbetreffende website er als volgt uit;


    In de error log krijg ik het volgende te zien;

    Code
    [Sun Jul 28 23:09:55 2013] [error] [client [ip]] Negotiation: discovered file(s) matching request: /home/user/private_html/panel (None could be negotiated)., referer: https://domein.tldl/


    Ik heb veder alle symbolic links na gekeken of het bestand waar het heen verwijst bestaat, en of de path naar de mod_rewrite.so file klopt. Maar hier is niks mis mee.


    Ik hoop dat iemand me veder kan helpen.


    Bij voorbaat, bedankt!

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Hoi hoi,


    Doordat je multiviews hebt aangezet, weet je apache server niet goed hoe om te gaan met je rewrite rules.


    De server weet niet of hij de multiview moet gebruiken, of je rewrite rule om de url te herschrijven.
    Daarom doet hij niets en geeft hij een fout.


    Normaal los je dit op door in je configuratie volgende:
    Options Indexes FollowSymLinks MultiViews
    te veranderen in:
    Options Indexes FollowSymLinks


    Korte uitleg:
    Als de server een request ontvangt voor /een/map/aap, als dan voor de map /een/map/ multiviews aan staat, en /een/map/aap/ niet bestaat als echte map, dan leest de server de map inhoud dat alle bestanden oplijst, waarbij hij ze dezelfde media types en inhoudscodering toewijst die ze zouden hebben als de klant ze zou hebben opgevraagd door de url te bezoeken. Nadien kiest hij diegene die het beste past bij de vereisten van de bezoeker.


    Als je bv /een/map/aap opvraagt en een bestand bestaat genaamd /een.php, dan gaat hij je naar /een.php willen sturen.


    Normaal gezien zou multiviews verwijderen je probleem moeten oplossen :)

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!