Avatar billede bacce.dk Nybegynder
29. marts 2003 - 22:36 Der er 13 kommentarer og
1 løsning

mod_rewrite og logs

Hejsa
jeg bruger i dag mod_rewrite til at omskrive URL's (sub domains) meen føler ik det er optimalt endnu..
jeg kunne godt tænke mig at hvert subdomain fil sin egen log bog også, så ikke disse dubdomains skal logges i domainet.
Dette skulle jo gerne være sådan at hvis jeg fek.s gik på http://sub01.domain.dk ville trafikken logges i fek.s /var/log/subs/sub01.log og i  /var/log/subs/sub01-error.log
og hvis sub01 skiftes ud med sub02 så skulle det så også rettes i log skrivninen

Kan man på en eller anden måde klare det også ??
og forresten hvis ik log filen er oprettet skulle den jo også gerne kunne klare det uden genstart

er det helt håbløst, eller er der en nem løsning på dette også ?
Avatar billede htm Nybegynder
30. marts 2003 - 23:43 #1
Din mulighed er nok at sætte rewrite log op til at pege forskelligt for hver enkelt subdomæne, under dine virtual hosts.

Du kan læse om rewrite log her:

http://httpd.apache.org/docs/mod/mod_rewrite.html#RewriteLog

Sæt Rewritelog til dit bibliotek, og vælg et rewriteloglevel!
Avatar billede bacce.dk Nybegynder
31. marts 2003 - 12:49 #2
hmm det virker ik helt efter hendsigten..
den opretter kun en .log og den kom i dette tilfelde til at hede $1 og den oprettes kun ved genstart af apache, meningen var at hvis ikke mappens log eksisterede skulle den også gerne oprette loggen og loggen skulle gerne have samme navn som subdomainet..
men ud over det så kan jeg kun få den til at skrive rewrite handlingerne og ikke som i apache access.log og error.log :-(
Avatar billede htm Nybegynder
31. marts 2003 - 12:57 #3
Som jeg forsøgte at skrive er der ikke lige nogen måde du kan gøre det dynamisk på så den tager den der har det subdomæne og laver en logfil med navn efter subdomænet!

Denne skriver alle rewrite handlingerne i loggen, så vidt jeg kunne forstå på dig var det det du skulle bruge?

Sæt Rewriteloglevel til 9 for at få fuld log!
Avatar billede bacce.dk Nybegynder
31. marts 2003 - 13:25 #4
har prøvet rewriteloglevel på 9 og det var de handlinger rewrite foretog som den skrev ned. ikke access og error for subdomainet's handlinger og det er dem jeg skal bruge :-(
Avatar billede htm Nybegynder
31. marts 2003 - 13:47 #5
Så er det jo disse du skal have fat i:

ErrorLog logs/error.log
CustomLog logs/access.log common

Men prøv og tag et kig på denne side: http://httpd.apache.org/docs/logs.html
Avatar billede bacce.dk Nybegynder
31. marts 2003 - 14:01 #6
ja ja det ved jeg alt sammen, men igen de skal jo passe til mine autogenereret subdomains ;-)
Avatar billede htm Nybegynder
31. marts 2003 - 17:48 #7
Hvordan autogenerer du de subdomains? via mod_rewrite?

Kører du med Virtual hosts?
Avatar billede bacce.dk Nybegynder
31. marts 2003 - 18:58 #8
ja de køres via Virtualhost.
først har jeg en Virtualhost for www.domain.dk og dernæst har jeg en Virtualhost som tager sig af alle subdomains som fælles for alle smutter i en anden documentroot hvor selve subdomainet også er navnet på mappen
Avatar billede htm Nybegynder
31. marts 2003 - 19:16 #9
Godt - herunder dine virtual hosts indsætter du de logfiler du skal bruge til at pege på hver sin mappe, eks. kunne du skrive

ErrorLog /var/log/sub/navnpåsub/error.log
CustomLog /var/log/sub/navnpåsub/access.log common
Avatar billede bacce.dk Nybegynder
31. marts 2003 - 19:33 #10
okey jeg ved ik om det er mig der udtrykker mig meget uklart ?? i så fald. sorry for dette....
men da jeg kan få mange subdomains hver eneste dag og ikke har tænkt mig at lave alt manuelt så vil dette være en meget dårlig løsning, og i så fald var der absolut ingen formål med at bruge mod_rewrite...
det smarte ved mod_rewrite er jo netop at den kan klare det med subdomains helt automatiskt det er jo derfor jeg benytter det :-)
Avatar billede htm Nybegynder
31. marts 2003 - 19:54 #11
Det kan du tilsyneladende ikke... se dette eksempel fra manualen om errorlog:

Context: server config, virtual host

hvilket betyder at den kan sættes i serverconfig og i virtual host.

For at det skal kunne lade sig gøre det du vil skal du prøve at bruge mod_vhost_alias ( http://httpd.apache.org/docs/mod/mod_vhost_alias.html ) eller mod_vdbh ( http://www.synthemesc.com/mod_vdbh/ )
Avatar billede bacce.dk Nybegynder
31. marts 2003 - 20:21 #12
hmm sidder lige og kigger på mod_vdbh og det ser sku godt nok interesandt ud og det ville også gøre at jeg slap for mine mod_rewrite men men men efter hvad jeg kan finde frem til skal man have apache2 og jeg er tilhænger af apache 1.3.* så det dutter sku nok ikke :-( det ser ellers meget interesandt ud dang dog heller ik finde den i apt-get systemet
Avatar billede htm Nybegynder
31. marts 2003 - 21:05 #13
Det har du ret i :-( Du bliver nødt til at køre apache2 for at bruge det modul!
Og jeg må også indrømme at jeg er tilhænger af apache1.3 :-)

I min søgen efter at finde et ligende modul fandt jeg denne: http://www.grubbybaby.com/mod_log_sql/ - det er ikke mod_vdbh til Apache 1.3 men en mulighed for at logge i en mysqldatabase :-) Måske du kan bruge det til noget! Du kan jo lave et php-modul der henter logs ud for det rigtige subdomæne!

Har desværre ikke andre ideer ud over at du kan bruge mod_vhost_alias
Avatar billede bacce.dk Nybegynder
07. april 2003 - 13:16 #14
nå men jeg siger tak for hjælpen, og må så overveje at skifte til apache2.
kan godt se at dette mod også vil gøre en masse andre ting meget lettere hvis jeg kan gå uden om alt hvad der hedder virtualhost og gøre det hele online i datanasen...
men endnu engang tak. du får point for det.. det var jo et korrekt svar, det er bare min stædighed der bremser svaret i at virke ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester