Page 1 of 1

Mod_rewrite mag nicht

Posted: 2010-10-01 22:09
by nautilusiii
Hi!

Ich habe einen Apache 2.2.3 auf CentOS am laufen und möchte über die folgende Regel eine Umleitung von http nach https erzwingen:

Code: Select all

RewriteEngine On
RewriteCond %{SERVER_PORT}   !^443$
RewriteRule  (.*)  https://%{HTTP_HOST}/$1   [L]
Dieser Code liegt in einer .htaccess Datei.


In httpd.conf ist

Code: Select all

LoadModule rewrite_module modules/mod_rewrite.so
inkludiert.


Eigentlich hätte ich erwartet dass es noch eine apache2 Datei gibt in der man die APACHE_MODULES eintragen muss, die finde ich aber nicht *bahnhof*

Ideen?

Re: Mod_rewrite mag nicht

Posted: 2010-10-01 22:19
by Joe User
mod_rewrite brauchst Du dafür nicht:

Code: Select all

Redirect 301 / https://host.domain.tld/

Re: Mod_rewrite mag nicht

Posted: 2010-10-01 22:30
by nautilusiii
Leider doch, da verschiedene domains redirected werden müssen.
Also von http://domain1.tld -> https://domain1.tld
und von http://domain2.tld -> https://domain2.tld
usw.

Re: Mod_rewrite mag nicht

Posted: 2010-10-01 22:35
by Joe User
Und? Du musst ohnehin einen VHost je umgeleiteter Domain anlegen, auch mit Deiner mod_rewrite-Idee.

Re: Mod_rewrite mag nicht

Posted: 2010-10-01 22:38
by nautilusiii
Nein, das ganze soll für webmail.* funktionieren.
Jede Domain reagiert auf webmail.* und springt nach Horde IMP (serviert also das was auf dem Server unter /var/www/horde/imp/ abgelegt ist); lege ich dort eine .htaccess datei mit den rewrite rules an kann ich dort zentral von http nach https switchen.

Nur 1 Change statt Dutzender.

Re: Mod_rewrite mag nicht

Posted: 2010-10-01 22:42
by daemotron
Wie wäre es dann damit:

Code: Select all

RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [L,R=permanent]
P. S. und bei Schwierigkeiten solltest Du das Rewrite Log aktivieren - das verrät eine ganze Menge, wenn man es nur "laut" genug stellt ;-)

Re: Mod_rewrite mag nicht

Posted: 2010-10-01 22:46
by nautilusiii
Mag sein dass das auch geht, aber wie ich bereits sagte liegts wohl eher dadran dass mod_rewrite nicht fliegt bzw die rewrite rules überhaupt nicht angezogen werden.

Code: Select all

RewriteEngine on
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [L,R=permanent]
RewriteCond %{HTTPS} on
RewriteLog "/var/www/mod_rewrite.log"
RewriteLogLevel 2

Kein Log unter /var/www/mod_rewrite.log.

*bahnhof*

Re: Mod_rewrite mag nicht

Posted: 2010-10-01 22:49
by daemotron
Wie gesagt - darüber gibt nur das Rewrite Log Aufschluss. Wenn da nichts auftaucht, ist was am LoadModule-Statement kaputt (sagt das Error Log was dazu?)

Re: Mod_rewrite mag nicht

Posted: 2010-10-01 22:53
by nautilusiii
Im Apache Error Log steht ebenfalls rein garnichts was helfen würde.

Re: Mod_rewrite mag nicht

Posted: 2010-10-01 23:58
by daemotron
Ist für den virtuellen Host AllowOverride gesetzt? Wenn nein, werden die Einstellungen in der .htaccess nicht wirksam...

Re: Mod_rewrite mag nicht

Posted: 2010-10-02 00:28
by nautilusiii
Sieht so aus:

Code: Select all

<VirtualHost  xxx>
    ServerName horde.webmail
    ServerAlias horde.webmail.*
    ServerAdmin xxx

    Include /etc/psa-webmail/horde/conf.d/*

    UseCanonicalName Off

    DocumentRoot /usr/share/psa-horde
    Alias /horde/ /usr/share/psa-horde/
    Alias /imp/ /usr/share/psa-horde/imp/

    

    <Directory /usr/share/psa-horde>
        <IfModule sapi_apache2.c>
            php_admin_flag engine on
            php_admin_flag magic_quotes_gpc off
            php_admin_flag safe_mode off

            php_admin_value open_basedir "/usr/share/psa-horde:/etc/psa-webmail/horde:/etc/psa:/tmp:/var/tmp:/var/log/psa-horde:/usr/share/doc:/usr/share/psa-pear"
            php_admin_value include_path "/usr/share/psa-horde:/usr/share/psa-horde/lib:/usr/share/psa-pear:."
        </IfModule>

        <IfModule mod_php5.c>
            php_admin_flag engine on
            php_admin_flag magic_quotes_gpc off
            php_admin_flag safe_mode off

            php_admin_value open_basedir "/usr/share/psa-horde:/etc/psa-webmail/horde:/etc/psa:/tmp:/var/tmp:/var/log/psa-horde:/usr/share/doc:/usr/share/psa-pear"
            php_admin_value include_path "/usr/share/psa-horde:/usr/share/psa-horde/lib:/usr/share/psa-pear:."
        </IfModule>

        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Re: Mod_rewrite mag nicht

Posted: 2010-10-02 00:34
by nautilusiii
Jetzt gehts, ich hatte im ersten Versuch vorhin AllowOverride All an die falsche Stelle kopiert.

Danke.