404-Fehler/Apache mod_rewrite Modul nicht oder nur teilweise erfüllt

Hallo zusammen!

Ich habe bereits über die Suchfunktion einige Thread zu meinem Problem gefunden, jedoch habe ich damit keine Lösung gefunden, da ich unter “Systemgesundheit” im Adminbereich meines Shops nur ein Gelbes-Symbol bei Apache mod_rewrite Modul habe. (Nicht oder nur teilweise erfüllt. Dieser OXID eShop kann sich in Bereichen unerwartet verhalten.) Weiß jetzt nicht ob es ggf. daran liegen könnte. Alle anderen Symbole sind Grün. Als Fehlermeldung wenn ich auf einen Link klicke, bekomme ich folgendes:

"Die Seite kann nicht angezeigt werden, weil:

Ein veraltetes Lesezeichen
Eine Suchmaschine hat einen veralteten Index der Website
Eine falsche Adresse
Kein Zugriff auf diese Seite!
Die angefragte Quelle wurde nicht gefunden!
Während der Anfrage ist ein Fehler aufgetreten!
Bitte eine der folgenden Seiten ausprobieren:

Startseite
Bei Problemen ist der Administrator dieser Website zuständig…"

In meine .htaccess datei unter /3.0/shop/ befindet sich auch nur eine Zeile. (AddHandler php5-cgi .php) ansonsten steht in der .htaccess nichts weiteres. Die Rechte der Datei liegt bei 777.

Die Startseite wird korrekt angezeigt, hochgeladene Bilder werden jedoch nicht angezeigt bzw. hochgeladen.

Hallo mailo,

das kann nicht funktionieren. Es sollte schon die originale .htaccess des Shops sein; in diese kannst Du zusätzlich den Eintrag für den PHP5 handler setzen.

Gruß

Hallo Marco,

vielen Dank für deine Antwort, aber woher bekomme ich die originale .htaccess? Und liegt das wirklich nur daran? Bin etwas skeptisch wegen der Gelben-Kontrollleuchte bei Apache mod_rewrite Modul. Ich hab die .htaccess im Stammordner von Shop auch nicht ausgetauscht, modifiziert oder ähnliches. Im Shop-Ordner liegt jeglich nur diese .htaccess vor, die ich oben beschrieben habe.

Hallo mailo,

die .htaccess sollte so aussehen:

Zusätzlich muss wahrscheinlich der PHP5-handler bei Deinem Provider rein.

Gruß

Also ich hab jetzt die kompletten 52 lines in meiner .htaccess unter mein “shop”-ordner eingefügt. Das Resultat ist jedoch immer noch das gleiche. Fehler 404.

Ich hab in lines 1 und in lines 53 auch “AddHandler php5-cgi .php” hinzugefügt, aber auch das hat das Problem nicht behoben. Muss ich die Zeilen in der .htaccess noch weiter bearbeiten/anpassen? Oder muss ich die .htaccess im root-verzeichnis anpassen? Also im Hauptverzeichnis meines Webspace. Habe dort eben Falls eine .htaccess Datei vorliegen, die für eine Website benötigt wird.

Hallo,

nein, das sollte so für eine ordentliche Installation ausreichen. Kannst Du installieren? Und woher kommt der 404, wenn Du im Shop eine Kategorie z.B. aufrufst? Kann man sich das vielleicht anschauen (–> link!)

Gruß

Hallo Marco,

die ce habe ich nach Anleitung inkl. Demo installiert. Ins Backend bzw. eShop Admin komme ich problemlos und kann von dort aus Kategorien oder Artikel erstellen. Die Startseite von Shop (siehe link unten) funktioniert auch ohne weiteres. Nur Bilder die ich im Backend bzw. eShop Admin einfüge möchte bzw. habe, werden letztendlich nicht angezeigt und die links zu Kategorie oder Artikel funktionieren nicht - 404 Fehler. Mein Webspace liegt bei all-inkl.

Link zum Shop: http://www.bereitsgetestet.de/shop/

Sollte ich den Shop ggf. mal neu Installieren? Liegt es vll an Apache mod_rewrite Modul? Da wird mir momentan nur eine Gelbe-Kontrollleuchte angezeigt (Nicht oder nur teilweise erfüllt. Dieser OXID eShop kann sich in Bereichen unerwartet verhalten.). Alle andere liegt im Grünen-Bereich.

Über eine Antwort würde ich mich sehr freuen.

Viele Grüße
Pascal

Guten Morgen,

dort läuft ziemlich sicher mod_rewrite gar nicht. Kannst Du bitte eine Datei namens senf.php mit dem Inhalt “<?php phpinfo(); ?>” erstellen und in das Hauptverzeichnis des Shops laden?

Danke und Gruß

Guten Morgen,

habe soeben die Datei hochgeladen.

Hallo mailo,

danke, kannst sie jetzt bitte wieder löschen. Das Apache-Modul mod_rewrite ist bei Dir nicht aktiv. Du kannst Dich also nur noch an Deinen Hosting-Provider wenden und ihn bitten, dass er es für Dich aktiviert.

Gruß

Danke für die Info. Ich selber habe vor Wochen das Thema mit Apache-Modul mod_rewrite beim Provider angesprochen und mir wurde gesagt, dass dies grundsätzlich immer aktiviert sei, aber ich versuch noch mal mein Glück und spreche es noch mal an, ich halte Dich hier auf dem Laufenden. Danke jeden Falls vorab schon mal für deine Hilfestellung.

Viele Grüße
Pascal

Hab wie erwartet folgende Antwort bekommen:

vielen Dank für Ihre Anfrage die wir Ihnen gerne beantworten. In allen unseren Webhosting-Paketen ist das Modul “mod_rewrite” aktiv und kann verwendet werden.

bedeutet, dass Modul soll bereits aktiviert sein und daran sollte es wohl nicht liegen …

Hi nochmal,

also, ich hab grad mal mit dem All-Inkl-Support gesprochen. Nimm jetzt erst mal wieder “AddHandler php5-cgi .php” aus der .htaccess raus - bei Dir läuft per default PHP5.2. Und dann können wir auch sehen, dass das mod_rewrite-Modul läuft.
Ich tippe noch auf einen Fehler in Deiner .htaccess - kannste die hier mal posten?

Gruß

Hier der komplette Inhalt aus der .htaccess:

In case you want to add a .htpasswd authentification

you’ll have to add the host of the shop as an allowed entity,

so that calls from the host skip the authentification

Example:

Order Deny,Allow

Deny from All

AuthType Basic

AuthName “Access not allowed”

AuthUserFile path_to_htpasswd_file/.htpasswd

Require valid-user

Allow from localhost

Satisfy Any

<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/|/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)$ %{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/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.jpe?g|.gif|.png)$ getimg.php

</IfModule>

disabling log file access from outside

<FilesMatch “(EXCEPTION_LOG.txt|.log$|.tpl$|pkg.rev|.ini|pkg.info|.pem$)”>
order allow,deny
deny from all
</FilesMatch>

Options -Indexes
DirectoryIndex index.php index.html

AddHandler php5-cgi .php habe ich rausgenommen, der 404-Fehler besteht jedoch weiterhin.

Hi,

ja, nu schreib mal noch die “REWRITEBASE /” auf “REWRITEBASE shop/”.
Dann würde ich auch gerne nochmal die config.inc.php sehen (bitte vor dem Posten de"militarisieren"! Weisst schon, was ich meine…).

Alternativ kannst Du auch die Installation mit dieser .htaccess nochmal durchlaufen (einfach den setup-Ordner nochmal hochkopieren.

Komischerweise läuft noch immer Server API = CGI/FastCGI, obwohl Du den AddHandler entfernt hast? Also ich kann deshalb noch immer kein mod_rewrite in der phpinfo() sehen…

Gruß

Ich habe jetzt die “RewriteBase /” auf “RewriteBase shop/” geändert, jedoch ist die Shop-Startseite jetzt gar nicht mehr zu erreichen. Bekomme folgenden Fehler:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

config.inc.php:
*nach lösung von mailo entfernt

Der Shop läuft jetzt ohne 404-Fehler!

Lösung: RewriteBase /shop in der .htaccess

Beim Aufruf des Shops erhalten Sie einen Fehler 404 - Page not found
Nachdem Sie Direct URL installiert und aktiviert haben, erhalten Sie beim Aufruf des Shops einen Fehler 404 - Page not found.

Lösung 1: Ihr Shop befindet sich in einem Unterverzeichnis des Webservers
Ein häufiges Problem ist, dass sich der Shop in einem Unterverzeichnis des Webservers befindet (z.B.: www.IhreSite.com/shop) und die Direktive “RewriteBase” in der .htaccess Datei nicht korrekt gesetzt ist.

Sie benötigen “RewriteBase”<var></var>, wenn das Verzeichnis, in dem die Umleitung stattfindet, nicht über Ihren eigentlichen (physischen) Namen erreichbar ist (beispielsweise, wenn man einen Alias auf das Verzeichnis gesetzt hat). Sie müssen mod_rewrite dann mitteilen, wie das Verzeichnis erreichbar ist.

Ändern Sie hierzu die .htaccess Datei im Root-Verzeichnis Ihres Shops wie folgt:

RewriteEngine On
RewriteBase /<Shopverzeichnis>

Wobei <Shopverzeichnis> durch den Namen des Verzeichnisses zu ersetzen ist, in dem sich Ihr Shop befindet (als z.B. “RewriteBase /shop”).

Quelle: http://www.bluegate.at/tutorials-faqs/xtcommerce/direct-url-tutorials/beim-aufruf-des-shops-erhalten-sie-einen-fehler-404-page-not-found/

@Marco Vielen, vielen Dank für deine Hilfestellung und dem beistehen des 404-Problem, tat sehr gut, an dem Problem nicht alleine zu Arbeiten.

Och wie cool!
Nimm bitte noch die senf.php raus, damit nicht alle diese Informationen sehen können :wink:

Gruß