*Markus: Alias in User-Verzeichnis?

Hallo,

in einem Verzeichnis habe ich eine .htaccess-Datei mit folgendem Inhalt:

RewriteEngine On
Alias ^websiteroot(.*) websiteroot/www$1

Dummerweise scheitert diese Anweisung:
(Error.log) Alias not allowed here

Die Konfiguration meines kompletten Rootverzeichnisses des Apache sieht so aus:

<Directory "/srv/http">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks Includes ExecCGI

#
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

#
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all

</Directory>

Die meines Erachtens wichtigen Konfigurationen sind gesetzt. Was müsste ich noch konfigurieren, damit ich eine Anfrage, die auf http://websiteroot/ lautet, auf http://websiteroot/www) gemappt wird, ohne, dass in der URL-Bar das www sichtbar ist.
(Mit RewriteRule würde ja nur eine Umleitung durchgeführt werden, wodurch www sichtbar ist)

Markus

  1. Hi,

    in einem Verzeichnis habe ich eine .htaccess-Datei mit folgendem Inhalt:

    RewriteEngine On
    Alias ^websiteroot(.*) websiteroot/www$1

    Dummerweise scheitert diese Anweisung:
    (Error.log) Alias not allowed here

    Recht hat er, der Indianer.
    Wir lesen in der Beschreibung zur Alias-Direktive:

    Context: server config, virtual host

    Diese Direktive ist also nicht in einer lokalen Konfigurationsdatei (.htaccess) zulässig.

    Die Konfiguration meines kompletten Rootverzeichnisses des Apache ...

    ... ist für den Fehler, den du im Moment gemacht hast, nicht entscheidend.

    Die meines Erachtens wichtigen Konfigurationen sind gesetzt. Was müsste ich noch konfigurieren, damit ich eine Anfrage, die auf http://websiteroot/ lautet, auf http://websiteroot/www) gemappt wird, ohne, dass in der URL-Bar das www sichtbar ist.

    Du kannst die Alias-Direktive direkt in die zentrale Konfigurationsdatei eintragen. Wahlweise global oder für einen bestimmten VHost.

    (Mit RewriteRule würde ja nur eine Umleitung durchgeführt werden, wodurch www sichtbar ist)

    Nein. Wenn du ein internes Rewriting durchführst, merkt der Client nichts davon. Nur wenn du stattdessen ein Redirect machst (also die Ziel-URL des Rewriting per HTTP angibst), macht der Client einen zweiten Request auf das angegebene Ziel.

    So long,
     Martin

    --
    "Drogen machen gleichgültig."
     - "Na und? Mir doch egal."
    1. Hallo,

      ok. Das habe ich wohl übersehen, dass man hier kein Alias verwenden darf.

      Grüße,
      Markus