Installationsprobleme: mod_rewrite

Hallo,

ich habe Installationssorgen - der Installationsassistent zeigt mir bei “Apache mod_rewrite Modul” die rote Karte.

Mein Serveradmin ist etwas vorsichtig mit den Apache-Optionen, und hat die Konfigurationen tendentiell lieber in der vhost.conf als in .htaccess-Dateien.

Eigentlich müßte es ja klappen, wenn man einiges aus der .htaccess, die bei Oxid mitkommt, in die vhost.conf übernimmt. Meine vhost.conf sieht etwa so aus:

<VirtualHost *:80>
    ServerName shop.mein-shop.de
    DocumentRoot /home/user/public_html/oxid_shop
        <Directory /home/user/public_html/oxid_shop >
        Options +FollowSymlinks
        AllowOverride FileInfo
        Order Allow,Deny
        Allow from all
        AuthType Basic
        </Directory>
    HostnameLookups Off
    UseCanonicalName On
    ServerSignature On
# disabling log file access from outside
        <FilesMatch "(EXCEPTION_LOG\.txt|\.log$|\.tpl$|pkg.rev)">
        order allow,deny
        deny from all
        </FilesMatch>
    Options -Indexes
    DirectoryIndex index.php index.html
</VirtualHost>

Dies hier ist der Inhalt meiner .htaccess:

<IfModule mod_rewrite.c>

#Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

RewriteCond %{REQUEST_URI} oxseo\.php$
RewriteCond %{QUERY_STRING} mod_rewrite_module_is=off
RewriteRule oxseo\.php$ oxseo.php?mod_rewrite_module_is=on [L]

RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !(\.html|\/|\.jpg|\.css|\.pdf|\.doc|\.gif|\.png|\.js|\.htc)$ %{REQUEST_URI}/ [R=301,L]

RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (\.html|\/)$ oxseo.php


RewriteCond %{REQUEST_URI} (\/out\/pictures\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (\.jpg|\.gif|\.png)$ core/utils/getimg.php

</IfModule>

# disabling log file access from outside
#<FilesMatch "(EXCEPTION_LOG\.txt|\.log$|\.tpl$|pkg.rev)">
#order allow,deny
#deny from all
#</FilesMatch>

#Options -Indexes
#DirectoryIndex index.php index.html

Habe ich da viel falsch gemacht? Ich würde mich sehr freuen, wenn mir jemand behilflich sein könnte, aus dem rot im Installationsassistenten ein grün zu machen :slight_smile:

René

dann muss die mod_rewrite - Geschichte eben auch mit in die vhost.conf

Warum genau? Gelesen wird die .htaccess ja schon noch.

warum nicht?
http://serversupportforum.de/forum/plesk/19140-vhost-rewrite-wird-ignoriert.html#post126919

Ich verstehe nicht, warum es dann funktionieren sollte. Natürlich kann es sein, daß ich durch die Auslagerung der rewriteregeln in die vhost.conf Performance gewinne, das ist jetzt aber erstmal sekundär.

Mein Problem ist ja, daß der Installer ein angeblich garnicht funktionierendes mod_rewrite anmahnt.

was sagt denn phpinfo - angeschaltet oder ausgeschaltet?

(war übrigens nicht auf Performance gezielt, der Tipp)

Ich habe auf demselben Server ein CMS laufen, das mod_rewrite erfolgreich nutzt. An Apache kann es nicht liegen.

Ich hatte sogar vorher Oxid erfolgreich installiert gehabt - ich habe es nur nochmal frisch aufgesetzt, weil eh noch kein Inhalt drin war und das System wir nach dem Upgrade auf die aktuelle Oxidversion da und dort Fehlermeldungen ausgab - fehlende Übersetzungen von irgendwas.

Habe gerade noch meine alte .htaccess gefunden, die mit der alten vhost.conf noch funktionierte. Die vhost.conf habe ich nur insoweit verändert, als ich den Code ab der Raute # eingefügt hab. Und nun geht’s nicht mehr.

Alte .htaccess:

<IfModule mod_rewrite.c>

#Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

RewriteCond %{REQUEST_URI} oxseo\.php$
RewriteCond %{QUERY_STRING} mod_rewrite_module_is=off
RewriteRule oxseo\.php$ oxseo.php?mod_rewrite_module_is=on [L]

RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !(\.html|\/|\.jpg|\.css|\.pdf|\.doc|\.gif|\.png|\.js|\.htc)$ %{REQUEST_URI}/ [R=301,L]

RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (\.html|\/)$ oxseo.php


RewriteCond %{REQUEST_URI} (\/out\/pictures\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (\.jpg|\.gif|\.png)$ core/utils/getimg.php

</IfModule>

Hallo alle,

kann mir jemand, der statt einer .htaccess nur die vhost.conf benutzt, mal seine (entsprechend anonymisierte) vhost.conf posten? Ich kann Oxid immernoch nicht installieren.

Ich verstehe nicht, warum der Inhalt meiner .htaccess nicht mehr funktioniert, wenn ich ihn in die vhost.conf setze, und alles, was ich an Info habe, ist ein “rot” beim mod_rewrite im Installer.

Muß z.B. die RewriteBase in der vhost.conf auch / sein?

Vielen Dank für die Hilfsbereitschaft!