Calocybe: Datei oder Verzeichnis?

Beitrag lesen

Moin!

Wer also will, daß der Server sowohl auf /alias als auch auf /alias/ in der URL reagiert, braucht zwei Alias-Einträge:
Alias /alias  /home/user/alias/
Alias /alias/ /home/user/alias/

Du brauchst NUR die erste Direktive, aber OHNE den letzten /. Also:
Alias /alias  /home/user/alias
Wenn die URL /alias/foo.bar aufgerufen wird, wird das erkannt, ein split zwischen /alias und /foo.bar durchgefuehrt, /alias zu /home/user/alias umgesetzt, und dann der vorher abgtrennte /foo.bar wieder angehaengt und man landet bei /home/user/alias/foo.bar. Entsprechendes gilt, wenn man nur /alias/ aufruft, ich fand nur, mit dem foo.bar-Beispiel sieht man besser, was passiert.

Wenn Du dann nur /alias aufrufst, wird festgestellt, dass /home/user/alias ein Verzeichnis und keine Datei ist und ein 302 Redirect auf /alias/ gesendet, woraufhin dann wieder obiger Mechanismus in Kraft tritt. Noetig ist das uebrigens, damit der Browser den spaeter aus relativen Links korrekt abolute URLs zusammenbauen kann.

Nö, ist kein Quatsch. Kann man aus dieser Beschreibung auch so entnehmen:
Note that if you include a trailing / on the url-path then the
server will require a trailing / in order to expand the alias.  That is, if you use Alias /icons/ /usr/local/apache/icons/ then
the url /icons will not be aliased.

Stimmt, das begruendet aber trotzdem nicht, dass man 2 Aliasse brauchen wuerde.

Ich hab' zuerst auch nur den ersten Eintrag gehabt, aber damit die bekannte Kurzschreibweise nicht nutzen können. Das ging erst mit zwei Einträgen. ;)

Du hattest eben den falschen. ;-)  (Ja, steht in der default httpd.conf so drin, find ich auch bloed.)

So long