Markus Bauer: Seite von zwei Adressen erreichen (Apache)

Guten Abend!

Ich habe folgendes GROSSES Problem und hab Null Ideen woran der Fehler liegt:

Ein und dieselbe Seite (Alles in /home/intranet/pub_html) soll sowohl vom Intranet als auch vom Internet aus erreichbar sein:

Intern: Server 192.168.0.2 wird per internem DNS Server zu www.intranet.lan aufgelöst)
Extern: Mit Dyndns, virtueller Namehost.

In der httpd.conf steht:

(...)
NameVirtualHost *
(...)

<VirtualHost 192.168.0.2>
ServerName www.intranet.lan
Include "/etc/apache/intranet.conf"
</VirtualHost>

<VirtualHost>
ServerName abc.dyndns.org
ServerAlias www.abc.dyndns.org
Include "/etc/apache/intranet.conf"
</VirtualHost>
(...)

In /etc/apache/intranet.conf steht:

DocumentRoot    /home/intranet/pub_html
ScriptAlias     /cgi-bin/ /home/intranet/cgi-bin/
ServerAdmin     admin@intranet.lan
ErrorLog        /home/intranet/logs/error.log
TransferLog     /home/intranet/logs/access.log
CustomLog       /home/intranet/logs/access.log combined
RewriteEngine On
RewriteRule     ^(.+).m3u$     $1.m3u.php

Es gibt auch diverse Verzeichnisse wie z.B. /home/intranet/pub_html/forum.

Wenn ich jetzt intern folgendes in meinen Browser eintippe, ist alles OK:

http://www.intranet.lan/forum

Wenn ich jetzt EXTERN http://abc.dyndns.org/forum

eintippe, dann scheint der das auf www.intranet.lan/forum/ und ich bekomme natürlich ein "Die Seite kann nicht gefunden werden".

Gehn tuts zwar mit http://abc.dyndns.org/forum/ (also mit nachfolgendem Slash) aber die meisten Besucher tippen natürlich ohne nachfolgenden Slash ein.

Jetzt hab ich eh schon zwei komplett verschiedene VirtualServer und trotzdem gehts nicht.

An was liegt das und wie kann ich es beheben?

Thanxalot

Markus

  1. hi,

    An was liegt das und wie kann ich es beheben?

    http://www.google.com/search?hl=de&ie=UTF-8&q=apache+trailing+slash+problem&btnG=Suche&lr=lang_de

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. An was liegt das und wie kann ich es beheben?
      http://www.google.com/search?hl=de&ie=UTF-8&q=apache+trailing+slash+problem&btnG=Suche&lr=lang_de

      hi,

      danke. sowas ähnliches hab ich auch gedacht. hab schon folgendes probiert:
      /home/intranet/pub_html/.htaccess
      RewriteEngine On
      RewriteBase /
      RewriteCond %{REQUEST_FILENAME}        -d
      RewriteRule ^(.+[^/])$         $1/     [R]

      Aber es ging eben auch nicht. Daher dachte ich es muss was andres sein.

      Also ich habe jetzt (wie bei einem Suchtreffer oben gefunden) UseCanonicalName Off gesetzt.

      Was hat das sonst für Konsequenzen?
      Kanns jetzt sein, dass dafür irgendwas andres nicht mehr gscheit funktioniert???

      danke nochmals

      1. hi,

        Also ich habe jetzt (wie bei einem Suchtreffer oben gefunden) UseCanonicalName Off gesetzt.

        Was hat das sonst für Konsequenzen?

        die, die http://httpd.apache.org/docs/mod/core.html.en#usecanonicalname beschreibt, würde ich sagen :-)

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
  2. Hallo,

    Ich habe folgendes GROSSES Problem und hab Null Ideen woran der Fehler liegt:
    Ein und dieselbe Seite (Alles in /home/intranet/pub_html) soll sowohl vom Intranet als auch vom Internet aus erreichbar sein:
    Intern: Server 192.168.0.2 wird per internem DNS Server zu www.intranet.lan aufgelöst)
    Extern: Mit Dyndns, virtueller Namehost.

    hehe, sowas in der Art habe ich auch.

    <VirtualHost 192.168.0.2>
    ServerName www.intranet.lan
    Include "/etc/apache/intranet.conf"
    </VirtualHost>

    Warum nicht <VirtualHost *>?

    <VirtualHost>
    ServerName abc.dyndns.org
    ServerAlias www.abc.dyndns.org
    Include "/etc/apache/intranet.conf"
    </VirtualHost>

    Und hier auch <VirtualHost *>

    Dann müsste es klappen.

    Gruß,

    Sven

    1. servus

      danke amal für die antwort

      <VirtualHost 192.168.0.2>
      ServerName www.intranet.lan
      Include "/etc/apache/intranet.conf"
      </VirtualHost>
      Warum nicht <VirtualHost *>?

      Weil es ein kein NameVirtualHost ist sondern extra für diesen virtuellen Server eine eigene IP Adresse (sogar Netzwerkkarte) eingerichtet wurde und ein eigener DNS Eintrag auf dem lokalen DNS Server.

      <VirtualHost>
      ServerName abc.dyndns.org
      ServerAlias www.abc.dyndns.org
      Include "/etc/apache/intranet.conf"
      </VirtualHost>

      Und hier auch <VirtualHost *>

      Sorry, das * habe ich nur zum Abtippen vergessen...

      Markus

      1. Moin,

        <VirtualHost 192.168.0.2>
        ServerName www.intranet.lan
        Include "/etc/apache/intranet.conf"
        </VirtualHost>
        Warum nicht <VirtualHost *>?
        Weil es ein kein NameVirtualHost ist sondern extra für diesen virtuellen Server eine eigene IP Adresse (sogar Netzwerkkarte) eingerichtet wurde und ein eigener DNS Eintrag auf dem lokalen DNS Server.

        Und warum nutzt du ihn nicht als NameVirtualHost? ist doch viel unkomplizierter.

        Und hier auch <VirtualHost *>
        Sorry, das * habe ich nur zum Abtippen vergessen...

        http://www.google.de/search?q=Copy'n'paste&sourceid=opera&ie=utf-8&oe=utf-8 'scnr'

        Gruß,

        Sven