Apache Update bei 1&1 - ReWrite Rules

1&1 gibt echt Kopfschmerzen…:mad: Jetzt weiß ich auch warum ich seit 2004 eigentlich keine Shops mehr dort installiere. Aber jetzt soll’s halt mal sein. Die Tage wird man ja als OXID Webmaster sowieso gefordert :smiley:

Zum Problem:
Letzte Woche hat 1&1 u.a. ein Update auf Apache 2.4 gefahren. Damit war schon mal der Ioncubeloader außer Gefecht und ich musste mir die passende 64bit Version installieren. ES GAB KEINE KUNDENINFO! Zum Glück ist der Shop noch nicht Live. Wenigstens gab es 'ne Gutschrift.

Jetzt habe ich festgestellt, dass die RewriteEngine nicht mehr korrekt funktioniert - auch nicht mit der Original htaccess von Oxid. Im Backend/Systemgesundheit meldet er mir -“Konnte nicht überprüft werden.” Ich merke es, weil z.B. das Umschalten der Sprachen nicht 100% funktioniert.

Zum Testen läuft aktuell die CE4.9.7 auf dem Server. Hier die htaccess:

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_URI}     config\.inc\.php [NC]
    RewriteRule ^config\.inc\.php  index\.php       [R=301,L]

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

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


    RewriteCond %{REQUEST_URI} (\/out\/pictures\/generated\/)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (\.jpe?g|\.gif|\.png|\.svg)$ getimg.php

    RewriteRule ^(vendor/) - [F,L,NC]
</IfModule>

# disabling log file access from outside
<FilesMatch "(EXCEPTION_LOG\.txt|\.log|\.tpl|pkg\.rev|\.ini|pkg\.info|\.pem|composer\.json|composer\.lock|test_config\.yml)$">
    order allow,deny
    deny from all
</FilesMatch>

# Prevent .ht* files from being sended to outside requests
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

Options -Indexes
DirectoryIndex index.php index.html

hättest du vielleicht eine Fehlerbeschreibung mit etwas mehr Informationsgehalt als “funktionieren nicht korrekt” für uns?

generell: ich hab mehrere OXID Shops, die unter Apache 2.4 laufen und alles geht problemlos.
Ich vermute, dass irgendeine Serverkonfiguration nicht mehr passt. Mir fällt spontan die Änderung von “AllowOverride all” zu “Require all granted” in Apache 2.4 aber ich bin nicht bei 1&1, weiß nicht inwiefern man dort vhosts bearbeiten kann

mein Error Log:

oxConnectionException-oxException (time: 2016-06-24 10:27:58): [1146]: mysql error: [1146: Table ‘db624291893.adodb_logsql’ doesn’t exist] in EXECUTE (truncate table adodb_logsql, ) with user dbo624291893

Stack Trace: #0 /homepages/24/d124827653/htdocs/shop/core/adodblite/adodbSQL_drivers/mysql/mysql_driver.inc(369): adodb_throw(‘mysql’, ‘EXECUTE’, 1146, ‘Table ‘db624291…’, ‘truncate table …’, false, Object(object_ADOConnection))
#1 /homepages/24/d124827653/htdocs/shop/core/adodblite/adodb.inc.php(316): mysql_driver_ADOConnection->do_query(‘truncate table …’, -1, -1, false)
#2 /homepages/24/d124827653/htdocs/shop/core/oxdb.php(292): ADOConnection->Execute(‘truncate table …’)
#3 /homepages/24/d124827653/htdocs/shop/core/oxdb.php(433): oxDb->_setUp(Object(object_ADOConnection))
#4 /homepages/24/d124827653/htdocs/shop/core/oxdb.php(487): oxDb->_getDbInstance()
#5 /homepages/24/d124827653/htdocs/shop/core/oxconfig.php(531): oxDb::getDb()
#6 /homepages/24/d124827653/htdocs/shop/core/oxconfig.php(394): oxConfig->_loadVarsFromDb(‘oxbaseshop’)
#7 /homepages/24/d124827653/htdocs/shop/core/oxconfig.php(328): oxConfig->init()
#8 /homepages/24/d124827653/htdocs/shop/core/oxconfig.php(1927): oxConfig->getConfigParam(‘blProductive’)
#9 /homepages/24/d124827653/htdocs/shop/core/oxshopcontrol.php(610): oxConfig->isProductiveMode()
#10 /homepages/24/d124827653/htdocs/shop/core/oxshopcontrol.php(574): oxShopControl->_getErrorReportingLevel()
#11 /homepages/24/d124827653/htdocs/shop/core/oxshopcontrol.php(121): oxShopControl->_runOnce()
#12 /homepages/24/d124827653/htdocs/shop/core/oxid.php(40): oxShopControl->start()
#13 /homepages/24/d124827653/htdocs/shop/index.php(26): OXID::run()
#14 /homepages/24/d124827653/htdocs/shop/oxseo.php(44): require(’/homepages/24/d…')
#15 {main}

Connection Adress –>
Connection Error –>

das hat eigentlich nichts mit rewrite engine zu tun, aber:
http://forum.oxid-esales.com/showthread.php?t=22459

Ja, den Eintrag hatte ich noch in der config.inc stehen. Jetzt zeigt er die Views schon mal korrekt an. Die Systemgesundheitsprüfung sagt, sie kann nicht feststellen ob das Apache Rewrite Modul läuft, der Punkt “grau”. In meiner PHPinfo steht


REDIRECT_HTTP_MOD_REWRITE	On
_SERVER["REDIRECT_HTTP_MOD_REWRITE"]	On
_ENV["REDIRECT_HTTP_MOD_REWRITE"]	On

Ich gehe mal theoretisch davon aus, dass es läuft.

Ich weis zwar nicht was 1und1 gemacht hat aber vielleicht hilft das hier: