Zur Navigation

Subdomains auf verschiedene Verzeichnisse umleiten

1 Zero-5 (Gast)

[Jörg: die folgenden Beiträge habe ich aus diesem Thread abgetrennt]

Entschuldige bitte das ich den Thread wieder aus der Versenkung hervorhole... ich hab ein problem mit der weiterleitung :) was auch sonst oder... :)

erstmal ein paar Basics:

Ordnerstrucktur

/var/www/Clanseite <- Homepage
/var/www/ts3wi <- Teamspeak3 Interface
/var/www/owncloud <- Cloud Anmeldung

nun will ich meine Subdomains umleiten zu den Ordnern

www.clanseite.de -> /var/www/Clanseite
www.cloud.clanseite.de -> /var/www/owncloud
www.ts3.clanseite.de -> /var/www/ts3wi

ich hab es mit deinem .htaccess code probiert. (abgespeichert im ordner /var/www)

sah folgendermaßen aus.

RewriteEngine on

RewriteCond %{HTTP_HOST} ^cloud\.clanseite\.de [OR]
RewriteCond %{HTTP_HOST} ^www\.cloud\.clanseite\.de
RewriteRule ^(.*)$ owncloud/$1

bis hierhin funktionierte es... clanseite.de war erreichbar und auch cloud.clanseite.de funktionierte.

nun fügte ich den gleichen code für ts3 ein. In die gleiche .htaccess

RewriteEngine on

RewriteCond %{HTTP_HOST} ^ts3\.clanseite\.de [OR]
RewriteCond %{HTTP_HOST} ^www\.ts3\.clanseite\.de
RewriteRule ^(.*)$ ts3wi/$1

Beim aufruf von ts3.clanseite.de bekam ich dann einen Error 500 code.
clanseite.de konnte auch nicht mehr aufgerufen werden. Error 404.
Es ging nur noch cloud.clanseite.de

was habe ich falsch gemacht. oder kann es an apache2 liegen ? oder die Index.html im ordner /var/www die mit folgendem code ausgestattet ist

Index.html
<html>
<head>
<meta HTTP-EQUIV="REFRESH" content="0; url=/clanseite/">

<script type="text/javascript">
<!--
document.location.href = "/clanseite/"
//-->
</script>


</head>
</html>

Apache2 /etc/apache2/sites-available

default
<VirtualHost *:80>
ServerAdmin admin@clanseite.de

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
DocumentRoot var/www/
ServerName www.clanseite.de

# Other directives here

</VirtualHost>

Apache2 httpd.conf ist leer.

Und nun entschuldige ich mich noch für diesen ellen langen text :)

01.02.2013 21:33 | geändert von Jörg: 02.02.2013 09:58

2 Zero-5 (Gast)

Anhang:

Ich habe gerade auch bemerkt das wenn ich www.clanseite.de im browser eintrage folgendes kommt

Not Found

The requested URL / was not found on this server.
Apache Server at www.clanseite.de Port 80

wenn ich aber ohne www. eintrage komme ich auf die clanseite.

anders herum bei cloud.clanseite.de

gebe ich es ohne www. ein, werde ich zu /clanseite umgeleitet
und wenn ich es mit www. eingebe werde ich zu /owncloud weitergeleitet.

01.02.2013 21:51

3 Zero-5 (Gast)

Nochmal ein Anhang:

Auszug aus dem Apache2 Restart:

Restarting web server: apache2Warning: DocumentRoot [/etc/apache2/var/www/] does not exist
[Fri Feb 01 21:53:31 2013] [warn] The Alias directive in /etc/phpmyadmin/apache.conf at line 3 will probably never match because it overlaps an earlier Alias.
... waiting Warning: DocumentRoot [/etc/apache2/var/www/] does not exist
[Fri Feb 01 21:53:32 2013] [warn] The Alias directive in /etc/phpmyadmin/apache.conf at line 3 will probably never match because it overlaps an earlier Alias.

01.02.2013 21:54

4 Jörg Kruse

Beim aufruf von ts3.clanseite.de bekam ich dann einen Error 500 code.

Die Fehler sind mitunter im Errorlog festgehalten. In dem Fall ist vermutlich eine Endlosweiterleitung schuld an dem 500er.

Statt die Subdomains in der .htaccess Datei auf Unterordner zu rewriten, würde ich den drei Domains via namensbasierter VirtualHosts das jeweilige Unterverzeichnis als DocumentRoot zuordnen:

http://httpd.apache.org/docs/2.2/de/vhosts/name-based.html

Das ist eine robustere Lösung, als man mit mod_rewrite hinbekommen könnte. Wobei ich auch die Domain clanseite.de in einem eigenen Unterverzeichnis unterbringen würde. Dann hat man nicht mit dem Problem zu kämpfen, dass sich Direktiven der Hauptdomain auf die Subdomains vererben.

01.02.2013 22:18

5 Jörg Kruse

DocumentRoot var/www/

Hier fehlt der beginnende Slash, var/www/ wird deswegen als /etc/apache2/var/www/ interpretiert:

Restarting web server: apache2Warning: DocumentRoot [/etc/apache2/var/www/] does not exist

01.02.2013 22:23

6 Zero-5 (Gast)

Danke erst einmal für die Hilfe... den fehler mit dem fehlenden Slash hab ich schon korregiert.

Aber bei den namensbasierter VirtualHosts blick ich nicht durch.

Kannst du mir ein bspl. anhand meiner Daten machen ?

Gruß

02.02.2013 01:35

7 Jörg Kruse

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName www.clanseite.de
    ServerAlias clanseite.de
    DocumentRoot /var/www/Clanseite
    # sonstige Direktiven...
</VirtualHost>

<VirtualHost *:80>
    ServerName www.cloud.clanseite.de
    ServerAlias cloud.clanseite.de
    DocumentRoot  /var/www/owncloud
    # sonstige Direktiven...
</VirtualHost>

# weitere VirtualHosts...

Edit:

Du verwendest anscheinend Debian? dann sollten die VirtualHost Definitionen in jeweils eigenen Dateien unterhalb von /etc/apache2/sites-available untergebracht werden, die dann mit a2ensite aktiviert werden.

02.02.2013 10:11 | geändert: 02.02.2013 10:23

8 Zero-5 (Gast)

Vielen Herzlichen Dank,

endlich funktioniert alles :) und damit hab ich mich nun fast 1 Woche rumgequält :(

Zusammenfassung:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName www.clanseite.de
    ServerAlias clanseite.de
    DocumentRoot /var/www/Clanseite
    # sonstige Direktiven...
</VirtualHost>

<VirtualHost *:80>
    ServerName www.cloud.clanseite.de
    ServerAlias cloud.clanseite.de
    DocumentRoot  /var/www/owncloud
    # sonstige Direktiven...
</VirtualHost>

# weitere VirtualHosts...

*Clanseite wurde ersetzt mit Domainnamen.
*Neue Datei mit WinSCP angelegt im unterodner /etc/apache2/sites-available mit einem belibigen namen z.b. subdomains
*Dann die Datei "subdomains" die man erstellt hat geöffnet und den oben stehenden Code eingefügt. (nicht vergessen alles anzupassen sprich Odnerstrucktur und namen)
*Datei speichern und Putty/Konsole Öffnen.
*in Putty/Konsole dann folgendes eintragen

a2ensite subdomains

/etc/init.d/apache2

tail -0f /var/log/apache2/error.log &

invoke-rc.d apache2 reload

Ich habe dann zur sicherheit noch einmal den Apache2 Neugestartet mit

service apache2 restart

Nun sollten die Umleitungen von der Subdomainadresse zu den Unterseiten im ordner /var/www funktionieren.

Da nun alles läuft würde ich auch die Domain preisgeben :)
www.battleforworld.de :)

Bis bald.



02.02.2013 14:01

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]