apache2 .htaccess rewrite har fel bas.

Permalänk

apache2 .htaccess rewrite har fel bas.

Hej.

Jag sitter och försöker klura lite med en .htaccess fil och lyckas inte få rewrite att funka som det ska.

Min .htaccess ligger på /home/cl/public_html/

Min wwwroot är /var/www/

så adressen xxx.xxxx.se visar upp filen index.php som ligger i /var/www/

i http.conf har jag lagt in:

AccessFileName .htaccess
<Directory />
AllowOverride All
</Directory>

UserDir enabled cl
UserDir disabled root
UserDir public_html

Detta gör att xxx.xxxx.se/~cl/ visar den index.php som ligger i /home/cl/public_html/

Det jag vill göra nu är att låta användaren cl välja själv vart hans hemsida ska peka. Detta tänkte jag göra med hjälp av .htaccess filen.

Så jag skapade en sådan fil och la in i /home/cl/public_html/ som innehåller följande:

RewriteEngine On
RewriteRule (.*) /testmapp/$1

Men detta fungerar inte. Ett försök att surfa in på xxx.xxxx.se/~cl/ resulterar i en 404 The requested URL /testmapp/ was not found on this server.

Apaches error log säger: [Sat Apr 10 01:53:37 2010] [error] File does not exist: /var/www/testmapp

Så av någon anledning så kollar den efter filen i /var/www/.

Att gå direkt till xxx.xxxx.se/~cl/testmapp/ funkar dock perfa.

Någon som vet hur jag ska få den göra en korrekt rewrite?

Permalänk
Medlem

.htaccess filen i ..../~cl/ gäller endast när du står i den mappen och dess submappar. Det du vill göra är omöjligt vad jag vet, du kan dock simpelt lägga till en regel i .htaccess i webroten som gör att ..../testmapp pekar mot ...../~cl/testmapp.
Detta görs enklast med "alias".

Permalänk

Användaren cl skulle väl kunna använda en symlink om han inte vill ha filerna i public_html?

ln -s ~/testmapp ~/public_html

Permalänk
Citat:

Ursprungligen inskrivet av Lonsas
.htaccess filen i ..../~cl/ gäller endast när du står i den mappen och dess submappar. Det du vill göra är omöjligt vad jag vet, du kan dock simpelt lägga till en regel i .htaccess i webroten som gör att ..../testmapp pekar mot ...../~cl/testmapp.
Detta görs enklast med "alias".

Ska jag rota runt i roten så är det lika bra att sätta upp en vhost där. Men det jag vill är att cl själv ska kunna ändra sin egen wwwrot eller vad det nu kallas.

Saken är att cl vill alltid ha xxx.xxxx.se/~cl/ som adress men beroende på vilket projekt som är aktuellt så ska adressen peka till olika mappar.

Citat:

Ursprungligen inskrivet av Tesseract
Användaren cl skulle väl kunna använda en symlink om han inte vill ha filerna i public_html?

ln -s ~/testmapp ~/public_html

Detta borde funka, ska testa lite och se vad som händer.

Edit: symlinks funkar perfa. Tycker visserligen att rewrites i .htaccess filen skulle vara vackrare. Men funkar det så funkar det..

Tack så mycket för hjälpen!