Vhost rewrite wird ignoriert.

yosha

New Member
Hallo zusammen,

ich schlage mich jetzt schon seit einigen Tagen mit einer eigentlich einfachen Weiterleitung rum und binziemlich am verzweifeln. Die Situation ist folgende:

Ich habe einen vServer bei 1blu mit Plesk 7.5.3 drauf. Auf diesem liegen mehrere Domains... sage wir mal domain1.de und domain2.de . Domain1 ist die Hauptdomain. (Auf beiden Domains ist Joomla installiert, falls das weiterhilft).

Ich möchte bei der zweiten Domain eine Weiterleitung schaffen a la benutzername.domain2.de --> domain2.de/redirect.php

Das hat auch schon einmal funktioniert und dann wieder nicht und dann wieder doch.
Zualler erst habe ichdie Zeilen in die httpd.conf der Domain2 verändert. Die werden aber durch einen neustart des Server überschrieben. ALso habe ich die vhost.conf probiert... die wird allerdings völlig ignoriert.

Wenn jetzt ein Nutzer z.B. benutzer.domain2.de aufruft landet er auf der domain1 ... und das soll wirklich nciht sein.

Kann mir jemand helfen, wie man das bei Plesk oder vhost.conf oder sonstwas richtig konfiguriert?

Folgende konfiguration ist im moment aktiv:
httpd.conf
PHP:
<VirtualHost 88.xx.xx.xx:80>
        ServerName   domain2.de:80
        ServerAlias  www.domain2.de
        UseCanonicalName Off
        SuexecUserGroup         xyxyxy psacln
        ServerAdmin  ""
        DocumentRoot /var/www/vhosts/domain2.de/httpdocs
        CustomLog  /var/www/vhosts/domain2.de/statistics/logs/access_log plesklog
        ErrorLog   /var/www/vhosts/domain2.de/statistics/logs/error_log
<IfModule mod_userdir.c>
        UserDir /var/www/vhosts/domain2.de/web_users
</IfModule>
        ScriptAlias  /cgi-bin/ /var/www/vhosts/domain2.de/cgi-bin/
        Alias  /plesk-stat /var/www/vhosts/domain2.de/statistics/
        Alias  /webstat /var/www/vhosts/domain2.de/statistics/webstat
        Alias  /webstat-ssl /var/www/vhosts/domain2.de/statistics/webstat-ssl
        Alias  /ftpstat /var/www/vhosts/domain2.de/statistics/ftpstat
        Alias  /anon_ftpstat /var/www/vhosts/domain2.de/statistics/anon_ftpstat
        <IfModule mod_ssl.c>
                SSLEngine off
        </IfModule>
        <Directory /var/www/vhosts/domain2.de/httpdocs>
        <IfModule sapi_apache2.c>
                php_admin_flag engine on
                php_admin_value open_basedir "/var/www/vhosts/domain2.de/httpdocs:/tmp"
        </IfModule>
        <IfModule mod_php5.c>
                php_admin_flag engine on
                php_admin_value open_basedir "/var/www/vhosts/domain2.de/httpdocs:/tmp"
        </IfModule>
                Options +Includes +ExecCGI
        </Directory>
        <Directory /var/www/vhosts/domain2.de/web_users>
        <IfModule sapi_apache2.c>
                AddType text/plain .php .php4 .php3 .phtml
                php_admin_flag engine off
        </IfModule>
        <IfModule mod_php5.c>
                AddType text/plain .php .php5 .php4 .php3 .phtml
                php_admin_flag engine off
        </IfModule>
        </Directory>
        <Directory "/var/www/vhosts/domain2.de/statistics">
                AuthType Basic
                AuthName "Domain-Statistiken"
                AuthUserFile /var/www/vhosts/domain2.de/pd/d..plesk-stat
                require  valid-user
        </Directory>
        Include /var/www/vhosts/domain2.de/conf/vhost.conf
</VirtualHost>

vhost ist also inkludiert und den plesk-manager habe ihc auhc neu gestartet sowie apache.

In der vhost.conf steht folgendes:
PHP:
RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.* [NC]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain2\.de
RewriteRule ^(.*) /var/www/vhosts/domain2\.de/direct.php?name=$1 [L]
Doch das wird ignoriert.

Bin ich vielleicht an der falschen Datei dran?

Bin für jede Hilfe sehr dankbar.
Yosha
 
Mit Plesk 7.x habe ich keine Erfahrung, aber bei meinem Plesk 8 ist die Abfolge des inkludierens etwas anders:

- in die /etc/apache2/httpd.conf schreib ich gar nichts rein, da das sowieso ggf. von Plesk überschrieben wird
- für jede domain wird automatisch eine separate "/srv/www/vhosts/<domain.de>/conf/http.include" eingelesen, diese enthält per default eine weitere include Anweisung für ""/srv/www/vhosts/<domain.de>/conf/vhost.conf" (also im selben Verzeichnis)

und in letztere vhost.conf schreib ich dann die domain-spezifischen Änderungen, inkl. den mod_rewrite Befehlen, z.B. bei meiner Typo3 Seite (innerhalb des entsprechenden "Directory" Blocks)
Code:
### Begin: Rewrite stuff ###
	# Enable URL rewriting
	RewriteEngine On
	# stop rewriting if in the /typo3 subdirectory
	RewriteRule ^/(typo3|t3lib|tslib|fileadmin|typo3conf|typo3temp|uploads|showpic\.php|favicon\.ico)/ - [L]
	RewriteRule ^/typo3$ /typo3/index_re.php [L]
	# conditions
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteCond %{REQUEST_FILENAME} !-l
	# rules
	RewriteRule   (^.*)               /index.php   [L]
### End: Rewrite stuff ###

mod_rewrite in einer ".htaccess" ist vermutlich einfacher zu verwalten, aber da ich überall gelesen hatte daß es in einer "*.conf" deutlich schneller funktioniert, habe ich einige Stunden darauf verwendet es so zum Laufen zu bekommen.
 
Last edited by a moderator:
Danke für eure Antworten,

Also zu Dawn: Genau das habe ich gemacht. Sonst wäre die Datei vhost.conf nicht in die httpd.conf inkludiert worde.

Ich habe mittlewrweile ein Lösung gefunden. Ist nicht schön aber funktioniert immerhin.

Da ja man ja auf Domain1 landet, wenn man "name.domain2.de" eingibt, habe ich in der vhost.conf von Domain1 die Umleitung reingeschrieben und den Webserver neu gestartet. Nun funktioniert alles.

Danke für eure Hilfe
 
Back
Top