kapsikum Posted April 8, 2011 Report Share Posted April 8, 2011 Hallo, mein Problem: Wenn ich im Backend "Mod Rewrite URL" auf "true" stelle passiert folgendes: Das Frontend startet beim Aufruf noch ganz normal, wenn ich über die Links mit der Maus fahre, sind die auch tatsächlich verändert worden (aus .../index.php?page=categorie&cat=3 wird .../kategorie3/...). Sobald ich aber auf einen Link klicke, kommt eine Fehlermeldung (a 500 Internal Server Error error). Stelle ich den rewrite-modus wieder auf "false" funktioniert wieder alles. Was könnte der Grund dafür sein? Was muss ich hier für eine Einstellung ändern? Ich würde mich sehr über eine Antwort freuen. Link to comment Share on other sites More sharing options...
df:bug Posted April 8, 2011 Report Share Posted April 8, 2011 Hallo, hast du die .htaccess-Datei mit auf deinen Webspace geladen? Viele Grüße, df:bug Link to comment Share on other sites More sharing options...
kapsikum Posted April 9, 2011 Author Report Share Posted April 9, 2011 Hallo, danke für deine schnelle Antwort. Ja, alle haccess Dateien liegen in den entsprechenden Verzeichnissen, auch die im root-Verzeichnis. Kann ich davon ausgehen, dass mein Server richtig konfiguriert ist und mod_rewrite unterstützt, wenn die Links sich im frontend verändert haben? Gibt es noch eine Idee, woran es liegen könnte? Vielen Dank schon jetzt. Link to comment Share on other sites More sharing options...
ufreier Posted April 9, 2011 Report Share Posted April 9, 2011 Hi, wirf doch mal einen Blick in die error_log des Webservers, der Apache ist doch eigentlich recht hilfreich was Fehlersuche betrifft. Gruß, Uwe Link to comment Share on other sites More sharing options...
kapsikum Posted April 9, 2011 Author Report Share Posted April 9, 2011 Hallo Uwe, danke für deine Antwort. Also ich bin ein Laie auf dem Gebiet, hab dennoch mal den Fehler provoziert und im log nachgesehen. Folgendes Ergebnis: [sat Apr 09 15:17:09 2011] [error] [client "meine Heim-IP"] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: Die Meldung sagt doch nur, dass der Verweis nicht gefunden wurde, oder? Aber warum? Nochetwas ist mir aufgefallen, die "statischen" Seiten (Impressum, AGB usw.) funktionieren, allerdings werden die URLs auch nicht umgeschrieben (trotz entsprechender Einstellung im Backend). Nur die dynamischen Kategorie-/ Artikel-URLs sind betroffen. Kann ich davon ausgehen, dass der rewrite mode nicht funktioniert? Aber warum zeigt der Browser beim Überfahren der Links dann die geänderten URLs an? Ich bitte um eure Expertenhilfe. Link to comment Share on other sites More sharing options...
ufreier Posted April 9, 2011 Report Share Posted April 9, 2011 Hi, kannst Du bitte mal Dein .htaccess posten? Sieht mir nach einem Loop aus. BTW: das Linking hat nichts damit zu tun, ob es auch funktioniert. Natürlich referenziert der Shop auf rewritten URLs, erst einmal egal ob die funktionieren oder nicht. Gruß, Uwe Link to comment Share on other sites More sharing options...
kapsikum Posted April 9, 2011 Author Report Share Posted April 9, 2011 Hallo Uwe, nett, dass du mir zur Seite stehst ;-) Also die htaccess, die im root-Verzeichnis liegt habe ich eigentlich nicht verändert und sieht so aus: ----------------------- # RewriteEngine on # RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php DirectoryIndex index.php RewriteEngine on RewriteCond %{REQUEST_URI} !^/media/ RewriteCond %{REQUEST_URI} !^/extAdmin/ RewriteCond %{REQUEST_URI} !^/skin/ RewriteCond %{REQUEST_URI} !^/js/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule .* index.php ----------------------------------- Ist daran etwas auffällig? Danke schonmal. Gruß Ralf Link to comment Share on other sites More sharing options...
ufreier Posted April 9, 2011 Report Share Posted April 9, 2011 Hi, das erklärt den Fehler schon mal nicht. Läuft das auf einem Webspace, einem v- oder reellem Root-Server? Hast Du den Apache konfiguriert bzw. kannst Du überhaupt auf dessen conf zugreifen? Gruß, Uwe Link to comment Share on other sites More sharing options...
kapsikum Posted April 9, 2011 Author Report Share Posted April 9, 2011 ... es ist ein managed server (also dediziert, aber ohne root-Zugriff). Der Provider meinte, dass der rewrite mode standardmäßig immer aktiviert sei. Ich selber kann zwar kleinere Konfigurationen über ein Webinterface vornehmen, aber mod_rewrite nicht explizit an oder abschalten. Es gibt in diesem Zusammenhang nur eine Einstellung, die ich vornehmen kann, die laut Beschreibung eine Auswirkung auf die Funktion hätte und das ist eine namens "SymLinksIfOwnerMatch", die muss auf on stehen (tut sie auch). Ich leg mal in den Anhang alle für mich möglichen Optionen und deren jetzige Einstellungen. Vielleicht findest du dich zurecht. Gruß Ralf Link to comment Share on other sites More sharing options...
ufreier Posted April 9, 2011 Report Share Posted April 9, 2011 Hi, in den Einstellungen liegt der Hund auch nicht begraben. Der Provider meinte, dass der rewrite mode standardmäßig immer aktiviert sei. Das glaube ich ihm auch. Die Fehlermeldung, die Du bekommst kann sogar bedeuten 'zuviel rewrite'. Request exceeded the limit of 10 internal redirects Das heißt es liegt irgendwo ein Loop vor, der Apache verweist auf sich selbst und nach 10 Mal gibt er auf. Das kann mittels .htaccess passieren, man kann aber auch Rewrite-Rules in die Apache-configs selbst eintragen. Das kann auch durch eine unglückliche Kombination aus Rewrite-Rules, Verzeichnis-Aliases o.ä. hervorgerufen werden. Aus Deinem .htaccess geht aber nichts dergl. hervor und aus den Dir zur Verfügung stehenden Einstellungs-Möglichkeiten auch nicht. Ich kann Dir daher leider auch nicht sagen, woher der Fehler kommt. Use 'LimitInternalRecursion' to increase the limit if necessary Wenn Du das wirklich erhöhst, gibt der Apache im Falles eines Loops einfach entsprechend nach X Mal auf, das macht aber keinen wirklichen Unterschied. Gruß, Uwe Link to comment Share on other sites More sharing options...
Preisetiketten Posted April 10, 2011 Report Share Posted April 10, 2011 Hallo zusammen, ich reihe mich hiermit mal in die Liste der betroffenen ein... kurz zusammengefasst: Kein Link auf dem Frontend funktioniert, solange im Backend unter "Mod Rewrite URL:" true eingestellt ist (unglücklicherweise ist genau das der Grund, warum ich zu Veyton wechseln wollte/will) die htaccess sieht so aus: AddType x-mapp-php5 .php AddHandler x-mapp-php5 .php #RewriteEngine on #RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php DirectoryIndex index.php RewriteEngine on RewriteCond %{REQUEST_URI} !^/media/ RewriteCond %{REQUEST_URI} !^/extAdmin/ RewriteCond %{REQUEST_URI} !^/skin/ RewriteCond %{REQUEST_URI} !^/js/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule .* index.php die info.php ist hier zu finden: phpinfo() Die Testinstallation hier xt:Commerce 4.0 Hoster ist 1und1 - Paket Homepage Professionell Plus. Ich hoffe, dass irgendjemand das Problem schon gelöst hat und mir hier weiterhelfen kann... das wäre prima ;-) Vielen Dank schon mal im Voraus! André Link to comment Share on other sites More sharing options...
kapsikum Posted April 10, 2011 Author Report Share Posted April 10, 2011 @ Uwe Trotzdem Danke für deine Analyse, da werd ich wohl mit dem Provider nochmal reden müssen. Viele Grüße Ralf Link to comment Share on other sites More sharing options...
Preisetiketten Posted April 10, 2011 Report Share Posted April 10, 2011 na hoppla.... versuchs mal mit dieser .htaccess: AddType x-mapp-php5 .php AddHandler x-mapp-php5 .php Options +FollowSymlinks #RewriteEngine on #RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php DirectoryIndex index.php RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !^/media/ RewriteCond %{REQUEST_URI} !^/extAdmin/ RewriteCond %{REQUEST_URI} !^/skin/ RewriteCond %{REQUEST_URI} !^/js/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule .* index.php Warum auch immer, so funzt es bei mir grade mal ;-) Preisauszeichner Link to comment Share on other sites More sharing options...
ufreier Posted April 10, 2011 Report Share Posted April 10, 2011 Hi, das hatten wir in einem anderen Ticket schon mal, dass dieses "RewriteBase /" ausschlaggebend war - mich würde nur mal die Erklärung interessieren, ganz nachvollziehen kann ich es nicht. Aber wenn es geht, umso besser! Gruß, Uwe Link to comment Share on other sites More sharing options...
kapsikum Posted April 12, 2011 Author Report Share Posted April 12, 2011 @ Preisetiketten ... vielen Dank für den Tipp. Nun läuft bei mir auch alles!!! Genau wie Uwe würde mich auch interessieren, was ich da gerade an meiner .htaccess verändert habe ;-) Offensichtlich ist dass dann doch ein Bug und hätte noch viel mehr User treffen müssen. Komisch. Link to comment Share on other sites More sharing options...
ufreier Posted April 12, 2011 Report Share Posted April 12, 2011 Hi, wichtig ist erst einmal, dass es so klappt! Hinter den Grund steige ich ehrlich gesagt nicht durch. RewriteBase wird immer dann benötigt, wenn das Verzeichnis mit der .htaccess über einen anderen als den physikalischen Pfad erreichbar ist. In der Praxis heißt das wenn z.B. ein Alias /shop auf /srv/www/htdocs/web1/ angelegt ist und der Shop über /shop aufgerufen wird, benötigt mod_rewrite die Direktive "RewriteBase /shop". Soweit ist das klar. Dieses "RewriteBase /" macht in meinen Augen gar keinen Sinn, der Grund für dessen Notwendigkeit muss aber irgendwo in der Konfiguration der Webserver begründet sein. Gut, aber die weitere Diskussion darum gehört vermutlich eher in ein Apache-Forum... Gruß, Uwe Link to comment Share on other sites More sharing options...
ufreier Posted April 28, 2011 Report Share Posted April 28, 2011 Hi, sorry, aber ganz blicke ich da nicht durch. Ich habe hier soweit alles befolgt und zuletzt meine .htaccess mit der von Preisetiketten ersetzt. Wenn ich die geänderte datei auf dem Server hochlade funktioniert allerdings gar nichts mehr. meine Seite sowie der adminberreich besteht nur noch aus Zahlen und symbolen. Wie sieht Deine .htaccess aus und kann man sich das, was dann bei Dir passiert mal ansehen? Kannst Du bitte eine URL dazu posten? Habe wieder die alte eingefügt und es wird alles korrekt (bzw. nicht so wie ich es haben will) angezeigt. Was möchtest Du denn genau haben, was nicht funktioniert? Gruß, Uwe Link to comment Share on other sites More sharing options...
ufreier Posted April 30, 2011 Report Share Posted April 30, 2011 Hi, Hier (in diesem ganzen Thread) scheinen recht seltsame Konfigurationen im Spiel zu sein, denn eigentlich dürfte ein "RewriteBase /" gar keinen Effekt haben, so lange die Pfade "normal" angelegt sind. Ich vermute den "Fehler" in einer ungewöhnlichen Konstellation des docroots des vhosts, das kann ich aber beim besten Willen nicht aus der Ferne diagnostizieren. Da müsste der Provider mal ein Statement dazu abgeben. Bei Dir ist es wohl gleich so, dass Dein Server vergisst, dass er PHP-Seiten parsen muss und liefert gleich den Quelltext aus. Hast Du mal spaßweise versucht, die ./conf/config.php aufzurufen? Wäre ja "toll" wenn dann gleich die Passwörter im Klartext auf dem Bildschirm erscheinen. Es sollte ja eingentlich genügen den Haken bei "Mod Rewrite URL:" auf "ja" zu stellen. Die URL wird dann zwar so angezeigt wie ich es haben will, aber die Seite selbst kann nicht mehr geladen werden. Naja, nicht ganz. Der Server muss natürlich schon mod_rewrite geladen haben und dem vhost zur Verfügung stehen. Für den vhost selbst gelten auch bestimmte Voraussetzungen, wenn die aber nicht erfüllt sind, siehst Du nur noch 500er Fehler und das ist hier ja nicht der Fall. Die URLs in den Links, die Du siehst, haben damit aber gar nichts zu tun, das ist eine andere Baustelle. Du kannst jedes Scrips anweisen, irgendwas als URL in die Links reinzuschreiben, die Frage ist dabei immer, ob der Server das dann auch richtig interpretiert, wenn man die URLs so aufruft - und das macht eben mod_rewrite bzw. sollte es machen. Sorry, dass ich Dir leider nicht viel weiterhelfen kann. Gruß, Uwe Link to comment Share on other sites More sharing options...
anathema Posted September 24, 2013 Report Share Posted September 24, 2013 bei mir hat RewriteBase / das Problem gelöst DANKE!!!! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.