River snart ut håret her
Prøver å lære meg hvordan mod_rewrite og .htaccess virker. Kort om hvordan serveren min er satt opp:
Kjører opensuse 13.2 og apache 2.4.10. DocumentRoot er satt til /srv/www/htdocs. Det vil si at hvis jeg åpner localhost på serveren eller ip'en (192.168.1.3) på en annen maskin i nettverket, så viser den /srv/www/htdocs/index.html.
Kjører også mod_userdir.c, slik at hvis jeg går inn på eks. localhost/~bruker/, så vil /home/bruker/public_html/index.html komme opp. So far, so good.
Men her kommer problemet. Jeg prøver å kjøre en enkel "rewrite", ved å legge følgende kode inn i en .htaccess-fil, under /home/bruker/public_html/
Tanken er da at uansett hvilket dokument under localhost/~bruker/* jeg åpner, så skal den rewrite til index.html. Og det gjør den, på en måte.
Problemet er bare at den forsøker å åpne /srv/www/htdocs/home/bruker/public_html/index.html, i stedet for /home/bruker/public_html/index.html.
Den legger altså til DocumentRoot-path'en, før deg forsøker å åpne riktig dokument. Og det går jo ikke!
Hvordan kan jeg få "RewriteRule . index.html" til å åpne den index.html-fila som ligger i samme mappe som .htaccess-fila, og ikke index.html under /srv/www/htdocs/home/bruker/public_html/??
Prøver å lære meg hvordan mod_rewrite og .htaccess virker. Kort om hvordan serveren min er satt opp:
Kjører opensuse 13.2 og apache 2.4.10. DocumentRoot er satt til /srv/www/htdocs. Det vil si at hvis jeg åpner localhost på serveren eller ip'en (192.168.1.3) på en annen maskin i nettverket, så viser den /srv/www/htdocs/index.html.
Kjører også mod_userdir.c, slik at hvis jeg går inn på eks. localhost/~bruker/, så vil /home/bruker/public_html/index.html komme opp. So far, so good.
Men her kommer problemet. Jeg prøver å kjøre en enkel "rewrite", ved å legge følgende kode inn i en .htaccess-fil, under /home/bruker/public_html/
Kode
RewriteEngine On RewriteRule . index.html
Problemet er bare at den forsøker å åpne /srv/www/htdocs/home/bruker/public_html/index.html, i stedet for /home/bruker/public_html/index.html.
Den legger altså til DocumentRoot-path'en, før deg forsøker å åpne riktig dokument. Og det går jo ikke!
Hvordan kan jeg få "RewriteRule . index.html" til å åpne den index.html-fila som ligger i samme mappe som .htaccess-fila, og ikke index.html under /srv/www/htdocs/home/bruker/public_html/??