Avatar billede startlinket.dk Nybegynder
29. december 2002 - 13:37 Der er 13 kommentarer og
1 løsning

Hvad er "UseCanonicalName"?

I går læste jeg mig til at jeg skulle deaktivere "UseCaninicalName" i min httpd.conf, for at jeg skulle kunne tilgå mapper uden den sidste "/" i slutningen af et link.
Men hvad er det lige "UseCanonicalName" er? Der burde jo være en grund til at den nu var aktiveret...
Avatar billede snaffel Nybegynder
29. december 2002 - 13:41 #1
her kan du læse om det : httpd.conf - Detailed Explanation
www.oac.uci.edu/X/W6/httpd-howto/httpd.conf.d.html
Avatar billede snaffel Nybegynder
29. december 2002 - 13:44 #2
Avatar billede startlinket.dk Nybegynder
29. december 2002 - 13:47 #3
Sidste link virker ikke og søger jeg på "canonical" på første link, så kommer der intet frem. Det må vel også være muligt lige at du kunne forklare mig hvad det bruges til?
Avatar billede burningice Nybegynder
29. december 2002 - 18:06 #4
mmm.. google... lækkert

http://www.apacheref.com/ref/http_core/UseCanonicalName.html

det lader til at være noget med selvrefererende adresser
Avatar billede startlinket.dk Nybegynder
29. december 2002 - 18:51 #5
Det forstår jeg ærlig talt ikke noget af... Ved bare at det allerede er deaktiveret på min Apache2 server, men ikke på min Debian woody server.
Ordet "canonical" bliver nævnt konstant, som om man ved hvad det betyder. Kigger jeg derfor i min Gyldendal engelsk-dansk ordbog, ser jeg at det betyder "kanonisk". Kigger jeg så i Politikens Nudansk Ordbog, får jeg dette:

kanonisk [kaZnoOnisk] adj. - , -e 1. som er anerkendt som mønstergyldig d nå til enighed om en kanonisk liste ·  nyde kanonisk anseelse 2. som kirken har anerkendt som religiøst grundlæggende, og som værende ægte c APOKRYF d kanoniske skrifter ·  de kanoniske evangelier · kanonisk ret et system af retsregler, kirkelove o.l. som er opstillet af den katolske kirke d læse den kanoniske ret

Vil nu ikke sige jeg har fået meget ud af det... Nogen der kan hjælpe?
Avatar billede startlinket.dk Nybegynder
01. januar 2003 - 16:04 #6
Kan det virkelig passe at ingen ved hvad "UseCanonicalName" er til for?!
Avatar billede htm Nybegynder
01. januar 2003 - 17:47 #7
Hvis du eks. prøver at linke til en mappe uden / bagefter vil serveren med UseCanonicalName sat til on vil serveren forsøge at "lede" efter http://SERVER_NAME:SERVERPORT/mappen/
Hvis UseCanonicalName er sat til off vil serveren bare tage og "lede" efter http://HTTP_HOST/mappe hvor HTTP_HOST er det som brugeren har indtastet eks. http://www.domæne.dk/mappe.
Avatar billede startlinket.dk Nybegynder
01. januar 2003 - 19:04 #8
Så vidt jeg kan se, så er SERVER_NAME OG HTTP_HOST da altid det samme... og HTTP_HOST er da ikke det brugeren har indtastet, da mappe- eller filnavnet da ikke kommer med dér.
Eneste logiske jeg kan se i det, er at som "off" sætter den selv "/" på, hvis det er nødvendigt - men hvis det endelig er sådan, så burde det jo være ved "on", da det burde fungere som en funktion, man aktiverer.
Kigger man på ordet "canonical"/"kanonisk" igen, så forstår jeg det som værende noget "som er det som det rigtig nok er" - altså sætter man "/" bagpå, så mener man vitterligt at det skal på.
Derved giver UseCanonicalName som "off" serveren mulighed for selv at "tænke", om det nu var ment som skulle "/" have været på.

Kan du give mig ret i det jeg siger? I så fald, så ér det det med SERVER_NAME og HTTP_HOST som det bliver beskrevet som, på forskellige sider, men det synes jeg bare ikke kan bruges til noget, nu da SERVER_NAME og HTTP_HOST jo ér det samme altid... eller er det?
Avatar billede htm Nybegynder
01. januar 2003 - 19:27 #9
SERVER_NAME og HTTP_HOST er ikke det samme altid!
SERVER_NAME er som defineret i httpd.conf navnet på serveren og hvilken måde den skal tilgås på!
HTTP_HOST er den adresse brugeren selv har skrevet for at komme ind på serveren!
Eks. Du har en server på din egen maskine som kan tilgås udefra via din globale IP, du har så defineret denne som SERVER_NAME!
Du kan hermed tilgå din server via din globale IP, men du kan også tilgå den ved at skrive localhost på den lokale maskine eller serverens interne IP i lokalnetværket! Hermed vil SERVER_NAME altid være det samme, nemlig din globale IP. Men derimod vil HTTP_HOST hele tiden ændre sig til hvad du skrev for at komme ind på siden!
Hvis du skriver http://localhost vil SERVER_NAME være: global IP og HTTP_HOST være: localhost
Avatar billede startlinket.dk Nybegynder
02. januar 2003 - 23:40 #10
Ja, okay, men hvordan ændrer det så på det med mapper?
Avatar billede madst Nybegynder
03. januar 2003 - 10:42 #11
Grunden til at det gør en forskel er at apache når den får et request til noget
i stil med http://example.com/dir, og har en mappe ved samme navn, så sender den en Location: http://example.com/dir/ - Hvis ikke ServerName er korrekt/kendt, så ved apache ikke hvad den skal bruge som servernavn i Location, og kan derfor ikke sende den header til browseren.
Avatar billede startlinket.dk Nybegynder
03. januar 2003 - 13:47 #12
Hvorfor skulle den ikke kende ServerName? Den er da altid sat...
Avatar billede madst Nybegynder
03. januar 2003 - 13:59 #13
Læs lige http://httpd.apache.org/docs/mod/core.html#usecanonicalname en gang
til - det står meget klart beskrevet apache bruger ServerName og Port til at
generere selvrefererende url'er hvis UseCanonicalName on - hvis den er sat
til off bruges i stedet det servernavn klienten angav (i sin Host: header).
Et eksempel på hvor det kan fejle er hvis man i sin host fil har sat noget
i stil med:
192.168.0.1 www.example.com www
i httpd.conf:
ServerName www
Mens det i dns er www.example.com der resolver til 192.168.0.1, så vil apache
sende Location: http://www/dir/
Der er mange andre eksempler - men emnet er iøvrigt også fint beskrevet i
apaches faq.
Avatar billede startlinket.dk Nybegynder
09. januar 2003 - 18:07 #14
Det dér link havde jeg nu godt nok aldrig set, men det er nu første gang jeg ser det officielt beskrevet, at den ændrer, så det ikke er nødvendigt med den sidste "/".
Dit eksempel forstod jeg dog ikke meget af, da jeg ikke lige kender så meget til Apache endnu...
Men jeg tror ikke jeg vil kunne få mere ud af spørgsmålet nu, så jeg giver bare htm de 10 point og takker for hjælpen. :)

Jeg undskylder i øvrigt at jeg først skriver her nu, men jeg har været igang med at geninstallere min computer.
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