500 Internal Server Error nach apache-update bei 1und1 - htaccess Anpassung erforderlich

  • Hallo zusammen
    Ich brauche dringend Unterstützung und bitte euch um Hilfe beim Anpassen der [lexicon]htaccess[/lexicon].
    Seit gestern Mittag steht mein Shop Vers. 2.5.16 aus heiterem Himmel und zeigt 500 Internal Server Error.

    Nachgefragt bei [lexicon]1und1[/lexicon] erhielt ich dazu die Info, dass es ein Apache Update gab und ich die [lexicon]htaccess[/lexicon] anpassen müsste, versuchsweise durch das Hinzufügen einer Raute bei 'Options -Indexes'..

    Doch alle Versuche, auch der Tipp mit einer ganz neuen [lexicon]htaccess[/lexicon] aus der aktuellen Vollversion vom Kundenkonto, blieben vergeblich und die Fehlermeldung standhaft. Ist die [lexicon]htaccess[/lexicon] jedoch abgeklemmt, lädt der Shop die Startseite.

    [lexicon]1und1[/lexicon] meinte dazu, das läge ganz klar an der [lexicon]htaccess[/lexicon], wobei sie keine Fehler in der Datei erkennen könnten, denn der shop sei ja auch nicht von ihnen. Mein Programmierer oder Softwareanbieter müsse sich darum kümmern und mir die passende Datei zukommen lassen..

    Nachdem ich ohne Erfolg nun Alles nach meinen Möglichkeiten versucht habe, bin ich jetzt total ratlos und bitte dringend um eure Mithilfe, damit ich den Laden wieder zum Laufen bekomme.

    Dank voraus mit vielen Grüßen
    Christina Baumann
    perlfang.de | info@perlfang.de

  • Also forumsuche mit [lexicon]htaccess[/lexicon] [lexicon]1und1[/lexicon] aber auch naturlich dein [lexicon]htaccess[/lexicon] hier posten und den apache version ofcourse weil wen zum beispiel solches drin ist da gibt es unterschieden apache 2.2 und 2.4.

    Zitat

    <IfModule filter_module>

    https://github.com/h5bp/html5-boilerplate/issues/1012

    Normal lauft den default [lexicon]htaccess[/lexicon] mit beide apache versionen, nur wen und bei ein par hoster muss man wegen anderer sachen anpassen wie [lexicon]1und1[/lexicon] und noch ein par. ( aber wen es vorhin gelaufen hat gibt es vielleicht noch mehr änderungen dan nur den Apache version?) Dass auch nachfragen dort!

    übrige log und error files auch nachsehen.

    sehe auch wen wirklich nur apache.
    https://www.google.de/search?q=difer….2+2.4+htaccess

  • Danke für die Nachricht
    Auf Nachfrage nach Änderungen sagte mir der Kundenservice, dass außer dem Apache-Update noch auf 64 Bit umgestellt wurde. Das klingt für mich nach dem eigentlichen Problem. Was ist zu tun?

  • Mal RewriteBase testen

    von
    #RewriteBase /
    auf
    RewriteBase /

    stellen

    oder wie von jostest geschrieben Filtermodule so umstellen.

    # HTML, TXT, CSS, JavaScript, JSON, XML, HTC: (Wurde bei der Umstellung bei auf Apache 2.4 geändert)
    <IfModule filter_module>
    FilterDeclare COMPRESS
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/html'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/css'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/plain'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/xml'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/x-component'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/javascript'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/json'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/xml'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/xhtml+xml'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/rss+xml'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/atom+xml'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/vnd.ms-fontobject'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'image/svg+xml'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'application/x-font-ttf'"
    FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'font/opentype'"
    FilterChain COMPRESS
    FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no
    </IfModule>

  • Danke für die Nachricht
    Auf Nachfrage nach Änderungen sagte mir der Kundenservice, dass außer dem Apache-Update noch auf 64 Bit umgestellt wurde. Das klingt für mich nach dem eigentlichen Problem. Was ist zu tun?

    Was mit

    Zitat

    aber auch naturlich dein [lexicon]htaccess[/lexicon] hier posten

  • Es läuft wieder!
    Ich danke euch sehr für eure Hilfe und Anleitung!
    Hätte ja nie gedacht, dass 4 hinzugefügte Rauten das Problem gelöst haben.

    #AddDefaultCharset utf-8
    #AddCharset utf-8 .html .css .js .xml .json .rss .atom
    #Options -Indexes
    #Options +SymLinksIfOwnerMatch

    Ich poste die aktuelle [lexicon]htaccess[/lexicon] gleich im Anschluss, wie sie jetzt läuft.

    Dankeschön und viele Grüße
    Christina Baumann

  • # ----------------------------------------------------------------------
    # UTF-8 encoding
    # ----------------------------------------------------------------------

    # Use UTF-8 encoding for anything served text/plain or text/html
    #AddDefaultCharset utf-8

    # Force UTF-8 for a number of file formats
    #AddCharset utf-8 .html .css .js .xml .json .rss .atom

    # Wenn Sie [lexicon]1und1[/lexicon] benutzen, setzen Sie die nächsten beiden Zeilen aktiv (Einschalten PHP5.4) Bei [lexicon]1und1[/lexicon] sollte weiter unten der Punkt RewriteBase / auch auskommentiert werden
    AddType x-mapp-php5.5 .php
    AddHandler x-mapp-php5.5 .php

    # ----------------------------------------------------------------------
    # Expires headers (for better cache control)
    # ----------------------------------------------------------------------

    <IfModule mod_expires.c>
    ExpiresActive on

    # Perhaps better to whitelist expires rules? Perhaps.
    ExpiresDefault "access plus 1 month"

    ExpiresByType text/cache-manifest "access plus 0 seconds"
    ExpiresByType text/html "access plus 0 seconds"
    ExpiresByType text/xml "access plus 0 seconds"
    ExpiresByType application/xml "access plus 0 seconds"
    ExpiresByType application/json "access plus 0 seconds"
    ExpiresByType application/rss+xml "access plus 1 hour"
    ExpiresByType application/atom+xml "access plus 1 hour"
    ExpiresByType image/x-icon "access plus 1 week"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType video/ogg "access plus 1 month"
    ExpiresByType audio/ogg "access plus 1 month"
    ExpiresByType video/mp4 "access plus 1 month"
    ExpiresByType video/webm "access plus 1 month"
    ExpiresByType text/x-component "access plus 1 month"
    ExpiresByType font/truetype "access plus 1 month"
    ExpiresByType font/opentype "access plus 1 month"
    ExpiresByType application/x-font-woff "access plus 1 month"
    ExpiresByType image/svg+xml "access plus 1 month"
    ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType application/x-javascript "access plus 1 year"

    <IfModule mod_headers.c>
    Header append Cache-Control "public"
    </IfModule>

    </IfModule>

    # BEGIN Cache-Control Headers
    <ifmodule mod_headers.c>
    <filesmatch "\\.(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    <filesmatch "\\.(css)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    <filesmatch "\\.(js)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    <filesmatch "\\.(jgz)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    <filesmatch "\\.(ico)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    <filesmatch "\\.(html)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    <filesmatch "\\.(woff)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    Header unset ETag
    <filesmatch "\.(js|css|xml|gz|jgz|woff)$">
    Header append Vary: Accept-Encoding
    </filesmatch>
    </ifmodule>

    <ifmodule mod_deflate.c>
    <filesmatch "\\.(js|css|html|htm|php|xml|woff)$">
    SetOutputFilter DEFLATE
    </filesmatch>
    </ifmodule>

    # ----------------------------------------------------------------------
    # Gzip compression
    # ----------------------------------------------------------------------

    <IfModule mod_deflate.c>

    # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
    <IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
    SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
    RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
    </IfModule>
    </IfModule>
    </IfModule>

    # ----------------------------------------------------------------------
    # ETag removal
    # ----------------------------------------------------------------------

    # developer.yahoo.com/performance/rules.html#etags
    FileETag None

    # Zusatzparameter PHP
    #php_flag zlib.output_compression On

    # Dateiauflisting unterbinden
    #Options -Indexes

    # Kommentieren Sie diese Zeile aus, wenn Sie einen Fehler 500 (Internal Server Error) erhalten
    #Options +FollowSymlinks

    <IfModule mod_rewrite.c>
    RewriteEngine On

    # Javascripte gezip ausliefern

    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteCond %{REQUEST_FILENAME}.jgz -f
    RewriteRule (.*)\.js$ $1\.js.jgz [L]
    AddType "text/javascript" .js.jgz
    AddEncoding gzip .jgz

    #Sicherheit
    ## Begin - Rewrite rules to block out some common exploits.
    # If you experience problems on your site block out the operations listed below
    # Block out any script trying to base64_encode data within the URL.
    RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
    # Block out any script that includes a <script> tag in URL.
    RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL.
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL.
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Return 403 Forbidden header and show the content of the root homepage
    RewriteRule .* index.php [F]
    #
    ## End - Rewrite rules to block out some common exploits.
    # Port Scanner
    RewriteCond %{HTTP_USER_AGENT} ^w00tw00t.at.ISC.SANS.DFind
    RewriteRule ^.*$ 403.php [L]

    # sitemap.xml auf Dynamische umleiten
    RewriteRule ^(.*)sitemap.xml$ sitemap-xml.php [qsappend,L]

    #Options +SymLinksIfOwnerMatch

    # Umleitung auf Adresse mit www, wenn www fehlt und nicht Subdomain und nicht localhost und nicht ssl.webpack.de
    RewriteCond %{HTTP:X-Forwarded-Server} !^ssl\.webpack\.de$ [NC]
    RewriteCond %{HTTP:X-Forwarded-Server} !^sslsites\.de$ [NC]
    RewriteCond %{HTTP_HOST} !^www\..* [NC]
    RewriteCond %{HTTP_HOST} !^.*\..*\..* [NC]
    RewriteCond %{HTTP_HOST} !^localhost(.*)$ [NC]
    RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

    ###################################################################################################
    ######## Shopstat - URL Format --- by Webdesign Erfurt
    ########

    ##-- Kategorien
    RewriteCond %{REQUEST_URI} (.*)---([_0-9]+)-([_0-9]+)\.html$
    RewriteRule (.*)---([_0-9]+)-([_0-9]+)\.html$ index.php?cPath=$2&page=$3 [qsappend,L]

    RewriteCond %{REQUEST_URI} (.*)---([_0-9]+)\.html$
    RewriteRule (.*)---([_0-9]+)\.html$ index.php?cPath=$2 [qsappend,L]

    ##-- Produkte
    RewriteRule (.*)--(.+)\.html$ product_info.php?products_id=$2 [qsappend,L]

    ##-- Content
    RewriteRule (.*)-_-([0-9]+)\.html$ shop_content.php?coID=$2 [qsappend,L]

    ########
    ########
    ####################################################################################################

    ###################################################################################################
    ######## Shopstat - URL Format ::: by Shopstat
    ########

    ##-- Kategorien
    RewriteCond %{REQUEST_URI} (.*):::([_0-9]+)-([_0-9]+)\.html$
    RewriteRule (.*):::([_0-9]+)-([_0-9]+)\.html$ index.php?cPath=$2&page=$3 [qsappend,L]

    RewriteCond %{REQUEST_URI} (.*):::([_0-9]+)\.html$
    RewriteRule (.*):::([_0-9]+)\.html$ index.php?cPath=$2 [qsappend,L]

    ##-- Produkte
    RewriteRule (.*)::(.+)\.html$ product_info.php?products_id=$2 [qsappend,L]

    ##-- Content
    RewriteRule (.*):_:([0-9]+)\.html$ shop_content.php?coID=$2 [qsappend,L]

    ########
    ########
    ####################################################################################################

    # immer auf den root verweisen, damit die Startseite (/index.php) nicht zweimal vorkommt
    # die folgenden beiden Zeilen auskommentieren wenn Sie eine index.html nutzen wollen
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html?|php)\ HTTP/
    RewriteRule ^index\.(html?|php)$ http://%{HTTP_HOST}/ [R=301,L]

    # Editieren Sie die untenstehende Zeile wenn ihr Shop in einem [lexicon]Unterordner[/lexicon] läuft.
    # Aber auch wenn Sie einen Fehler 500 (Internal Server Error) bekommen.
    # Beispiel: Ist ihr Shop im Verzeichnis http://www.domain.de/shop ändern Sie die Zeile wie folgt: "RewriteBase /shop/"
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d

    RewriteRule ^(.+) - [PT,L]

    # Alte Kategorien ohne Slash umleiten auf mit slash / Raute in den 4 Zeilen entfernen
    #RewriteCond %{REQUEST_URI} !(.*)/$
    #RewriteCond %{REQUEST_URI} !\..+$
    #RewriteCond %{REQUEST_URI} !/$
    #RewriteRule (.*) http://%{HTTP_HOST}/$1/ [R=301,L]

    RewriteRule ^(.*)(.+)404.php$ 404.php [qsappend,L]

    RewriteRule ^(.*)tag/(.*([a-zßöüäA-ZÖÜÄ0-9]))/$ taglisting.php?tag=$1$2 [qsappend,L]
    RewriteRule ^(.*)hashtag/(.*([a-zßöüäA-ZÖÜÄ0-9]))$ hashtags.php?hashtags=$1$2 [qsappend,L]
    RewriteRule ^(.*)keywords/(.*([a-zßöüäA-ZÖÜÄ0-9]))$ advanced_search_result.php?keywords=$1$2 [qsappend,L]
    RewriteRule ^(.*)manufacturer-(.*[0-9])/(.*([a-zßöüäA-ZÖÜÄ0-9]))$ index.php?manufacturers_id=$2 [qsappend,L]
    RewriteRule ^(.*)review-(.*[0-9])/(.*([a-zßöüäA-ZÖÜÄ0-9]))$ product_reviews_info.php?reviews_id=$2 [qsappend,L]
    ##boosted BLOG-START
    RewriteRule (.*/)?blog.html blog.php [L]

    RewriteCond %{REQUEST_FILENAME} !\.html$ [OR]
    RewriteCond %{REQUEST_FILENAME} !\.php$ [OR]
    RewriteRule ^(.*)$ commerce_seo_url.php?linkurl=$1 [qsappend,L]
    </IfModule>

    ErrorDocument 404 /404.php
    ErrorDocument 403 /403.php

  • Ich sollte nachsehen wegen de

    Zitat

    indexes

    teil ob man die nicht doch schalten kan, oder die haben es so default auf den servers!

    utf8 sollte eigentlich dan vielleicht alles default sein, dan ist es nicht schlimm aber wen nicht braucht man solches in php oder [lexicon]htaccess[/lexicon] zum erzwingen.

    Weiter wegen [lexicon]1und1[/lexicon]!

    Zitat

    haben dabei glaube ich gleich ein größeres PHP-Update gemacht und auch ein neues Tarifmodell für extended support der alten Versionen eingeführt.
    Also Rechnungen prüfen

  • Danke jotest für deine weiteren Bemühungen. Bin aber mal gespannt, ob von 1u1 wegen den Neuerungen noch etwas nachkommt.
    Ich denke ja nicht, dass die mir einfach so die Rechnung erhöhen - aber mal sehen...

    An der aktuellen [lexicon]htaccess[/lexicon] habe ich in der Zwischenzeit die Rauten nochmals verändert, und so läuft es jetzt:

    # ----------------------------------------------------------------------
    # UTF-8 encoding
    # ----------------------------------------------------------------------

    # Use UTF-8 encoding for anything served text/plain or text/html
    AddDefaultCharset utf-8

    # Force UTF-8 for a number of file formats
    #AddCharset utf-8 .html .css .js .xml .json .rss .atom

    # Wenn Sie [lexicon]1und1[/lexicon] benutzen, setzen Sie die nächsten beiden Zeilen aktiv (Einschalten PHP5.4) Bei [lexicon]1und1[/lexicon] sollte weiter unten der Punkt RewriteBase / auch auskommentiert werden
    #AddHandler x-mapp-php6 .php3 .php4 .php .phtml
    .
    .
    .
    Options -Indexes
    #Options +FollowSymlinks
    .
    .
    .
    Options +SymLinksIfOwnerMatch


    Ich bin nach den 2 Tagen Stillstand jetzt nur noch froh, dass alles wieder läuft, dank euch!

    Viele Grüße
    Christina

  • Also das ist soweit auch die Lösung!

    Wir haben am Wochenende und letzte Woche 4 solche Patienten versorgt! Der Admin wird sich zu diesem Thema auch nochmal melden. Die 1&1 Kunden sollten sich langsam in der Tat überlegen den Hoster zu wechseln! Wir haben die abenteuerlichsten Meldungen von Kunden bezüglich des 1&1 Supports bekommen.

    @jotest - Das ist unabhängig von der PHP passiert. 1&1 hat den Servern was verändert!

  • @jotest - Das ist unabhängig von der PHP passiert. 1&1 hat den Servern was verändert!

    War auch nur ein ZITAT von einer. aber es kommen noch mehr updates beim mehr Hoster wen die auf neue Server umziehen und oder Apache updaten machen die oft viel mehr an änderungen/updates und settings. ( Bei "Billig" Hoster müssen die ziemlich an die Rechten/möglichkeiten schrauben anders geht die Kalkulation dort nicht auf)
    Weiter bei den managed und unmanaged fast überal werdet zur sicherheit aber auch um den anderer Shared Kunden zu schutzen für langsam und oder hackversuche Änderungen gemacht, es gab so einige an Sicherheits Lücken. ;)

    PHP < 5.5 ist/geht fast überall draus zum beispiel.
    MYSQL hmm da gibt es änderungen die dies nicht mehr überall 100% sein lass, aber dazu dan MARIADB die geht leider auch ein bisschen mehr von den MYSQL 99,9% compatibel PFAD AB

    Weiter APACHE 2.2 zum 2.4 da bekommen mehrerer doch probleme wen man nicht aufpasst.

    Bei [lexicon]1und1[/lexicon] soll man wegen den Support sein sachen nachlesen war eigentlich dass wichtigste aus Zitat sorry. ;)

  • Ich habe auch einen Serever bei [lexicon]1und1[/lexicon] und bisher ist alles gut, wann war denn die Umstellung?

    Schau mall in Shopadmin Serverinfo (phpinfo) ob sich dort etwas geänderd hat , die resultaten dort soll man immer ab und zu speichern um später wen etwas nicht 100% rund lauft zu vergleichen ob sich beim/auf Server tatsächlich nicht etwas geänderd hat. ;)

    Man hat ofcourse mehrere möglichkeiten bei den [lexicon]1und1[/lexicon] aber die wirklich alte schalten die naturlich mall um war es wegen sicherheit, oder dass die unrentable server abschalten ( und den Kunden drauf umziehen) ist den [lexicon]1und1[/lexicon] selbe...

    Ob mein Antwort sinvoll ist weiss ich nicht weil ich weis nicht was den

    Zitat

    Serever bei [lexicon]1und1[/lexicon]

    dort sind. ;)

  • Ja, die spinnen :( Mit den Options raus kommentieren sollte es aber bringen. Im Basis Paket haben wir schon eine angepasste .[lexicon]htaccess[/lexicon] drin, ab der 2.6.

    <p>Wir geben nur Anregungen und Hilfestellung auf Basis unserer Erfahrung, keine Rechtshilfe!<br>\m/('_')\m/</p>