Mod_rewrite

Hallo zusammen,

mod_rewrite aktiviert, keine Installation möglich. Nervt langsam, da die Lösungsvorschläge hier nicht zum Erfolg führten. OS Suse 11.0. warum kann denn auf dieses Modul nicht verzichtet werden?

Wäre nett, wenn von den Entwicklern jemand antworten würde

Danke und Grüsse

Andreas

Hi,

die Antwort ist schnell gegeben: Weil ohne das Modul keine vernünftigen SEO URLs möglich sind und du damit schlechter gefunden wirst als mit SEO URLs. Sehr viel schlechter.

Das ist also weniger eine technische Frage, sondern eine Frage wie du maximalen Umsatz aus deinem Shop rausholst.

Gruß,

Ralf

Hallo,

ich habe unter OpenSuse das selbe Problem. Trotz aktiviertem mod_rewrite, angepasster .htaccess und angepasster httpd.conf zeigt sowohl der Installer als auch die test.php, das mod_rewrite “off” ist.

Sämtliche Lösungsvorschläge im Netz haben nicht geholfen.

Ist das evtl. ein OpenSuse-Spezifisches Problem?

Hat jemand das ganze unter OpenSuse 11.0 / 11.1 am laufen?

Viele Grüße

Torsten

Hallo,

noch eine Idee dazu: Die Seiten sind nicht zufällig per .htaccess geschützt, oder?

An dieser Stelle vielleicht nochmal ein Verweis auf meine tolle Entwicklungsumgebung:http://www.oxid-esales.com/de/resources/forum/allgemeines/vmware-appliance-oxid-eshop-debian-etch-beta

Gruß


Marco Steinhäuser
Community Guide
OXID eSales AG

Vielleicht noch ein richtig dreckiger Workaround für die ganz harten Fälle:

In der /setup/index.php ca. Zeile 477 finden:
In der /setup/index.php ca. Zeile 477 finden:

            } else {                    if ( function_exists( 'apache_get_modules' ) ) {                       // it does not assure that mod_rewrite is enabled on current host, so setting 1                        $iModStat = in_array( 'mod_rewrite', apache_get_modules() ) ? 1 : 0;                    } else {                        $iModStat = -1;                    }                }und ersetzen durch:

            } else {                    if ( function_exists( 'apache_get_modules' ) ) {                       // it does not assure that mod_rewrite is enabled on current host, so setting 1                        $iModStat = in_array( 'mod_rewrite', apache_get_modules() ) ? 1 : 0;                    } else {                        $iModStat = -1;                    }                    //workaround                    $iModStat = 2;                    //                }

Gruß


Marco Steinhäuser
Community Guide
OXID eSales AG

Guten Abend zusammen,

herzlichen Dank für die Antworten. Den dreckigen Workaround probiere ich nachher oder morgen mal aus. Ansonsten installiere ich gerade Debian, weil ich wissen möchte, ob das Problem da auch existiert. Langsam befürchte ich, es handelt sich um ein SUSE Problem.

Ist mir schon klar Ralf, was die Einstellung bewirkt. Im Prinzip spricht aber doch nichts dagegen, den Shop trotzdem zu installieren, auch wenn das Modul nicht installiert oder gefunden wird. Ich bin gerade dabei, den Shop für einen Kunden zu testen, da ist es im lokalen Netz egal, ob er schnell gefunden wird.

Danke für die Hilfe bisher

Andreas

Hallo Andreas,

die o.g. Entwicklungsumgebung (resp. VMware appliance) ist eine Debian netinstall mit allen nötigen packages für den Betrieb mit einem OXID eShop. Vielleicht bekommst Du raus, was an der Suse getan werden muss.

Danke + Gruß


Marco Steinhäuser
Community Guide
OXID eSales AG

Ich hab ein ganz ähnliches Problem.

Die Installation wird zwar aufgerufen, aber ich bekomme die Meldung, dass die Voraussetzung “Apache mod_rewrite Modul” nicht erfüllt wurde.

Ich hab aber bei meinem Provider nachgefragt, mod_rewrites ist aktiviert (hatte auf dem selben Server auch schon erfolgreich Magento laufen)

Ich hab dann wie hier beschrieben erstmal die RewriteBase geändert. Hier nochmal eine Frage: wenn OXID in root/shop/ liegt, müsste die RewriteBase dann nicht /shop/ und nicht / sein? Jedenfalls hab ich beides versucht, ohne Erfolg.

Dann wollte ich setup/test/test.php aufrufen, aber selbst nachdem ich die permissions beim setup ordner, dem test order und der test.php auf 777 geändert hatte, bekomme ich hier ein Bad Request Fehler.

Ich wollte dann, wie beschrieben, die httpd.conf ändern, aber die exisitiert gar nicht. Wo soll diese sein?

Meine rev ist 15990

Ich habe von Magento noch folgenden Eintrag in meiner php.ini: extension = mysqli.so

Kann das Problem damit zusammen hängen?

Danke!

EDIT: auch der “dreckige workaround” hat nicht geholfen

Hallo loeffel,

kannst Du die Aussage Deines Providers über eine phpinfo verifizieren?Die httpd.conf sollte irgendwo unter /etc/apache2/ zu finden sein.

Wenn selbst der “dreckige workaround” nicht hilft, weiss ich auch nicht mehr weiter. Dieser setzt eigentlich die Abfrage auf mod_rewrite komplett ausser Kraft.Und das sollte völlig OS-indipendent passieren.

Vielleicht hilft Dir wirklich erstmal die VMware appliance weiter, damit Du Dir den Shop wenigstens mal anschauen kannst?

Gruß


Marco Steinhäuser
Community Guide
OXID eSales AG

Guten Abend Marco,

Debian installiert, mit apache2ctl -M kontrolliert und mod_rewrite ist installiert. Ergebnis: Oxid behauptet, es ist nicht installiert.

Workaround installiert und jetzt konnte ich den Shop erfolgreich installieren!

Leider bin ich noch nicht dazu gekommen, Deine Entwicklungsumgebung auszuprobieren. Der Download dauert länger, als das Herunterladen von 3 VMWare Viewern und jetzt habe ich nicht mehr viel Lust, weiterzumachen. Zuerst teste ich mal den Shop.

Aus den bisherigen Erfahrungen denke ich, Ihr solltet Euere mod_rewrite Prüfung entweder grundsätzlich abschalten bzw. auf optional setzen oder nochmal überarbeiten, da sie scheinbar manche Installationen nicht erkennt.

Übrigens wäre es sehr hilfreich, wenn der Scrreen, der die Probleme mit chmod 755 anzeigt, etwas länger stehen bleibt.

Wünsche allen ein schönes Wochenende

Grüsse Andreas

Hallo Andreas,

danke für die Rückmeldung.

Ich erinnere mich dunkel, dass ich in der httpd.conf irgendwas gesetzt habe, damit die Prüfung durchläuft, war gar nicht mal so schwer. Aber schlag mich tot - ich hab mir dämlicherweise nicht aufgeschrieben, was genau es war…

Mindestens! Sind ja auch 500 MB, aber kleiner hab ich’s wirklich nicht bekommen.

Das stimmt allerdings.

Gruß


Marco Steinhäuser
Community Guide
OXID eSales AG

Also auf die httpd.conf habe ich keinen Zugriff (der Ordner existiert nicht und laut Aussage meines Providers, kann ich darauf auch nicht zugreifen und Änderungen nimmt der Provider auch nicht selbst auf Anfrage durch)

Habe aber noch das hier gefunden:

“…man kann eine eigene Apache-Installation auf einem dedizierten Port vornehmen und dort die Konfiguration ganz nach Wunsch vornehmen…”

Das hört sich für mich aber auch nicht nach einer wirklichen Lösung an…

Hallo Marco,

nachdem ich mir jetzt die halbe Nacht um die Ohren geschlagen, unzählige Tassen Kaffee/Espresso reingepfiffen und noch etwas Bier genossen habe, hier das etwas sehr sonderbare Ergebnis.

Ich habe Suse11.0 ganz normal installiert, ohne irgendwelche Änderungen an was weiß ich nicht für Systemdateien Oxid installiert und bin auf die Nase gefallen. Rewrite ist laut apache2ctl-M installiert. Dann Deinen Dreck ausprobiert, ebenfalls Nase fallen. Radikalmethode und alle Parameter auf 2 gesetzt, Nase bleibt blutig. htaccess entfernt usw., immer wieder Nase blutig. Dann habe ich mal das break nach den statements entfernt. Äh, jetzt läuft es. Hier ist der Auszug:

            } else {                    if ( function_exists( 'apache_get_modules' ) ) {                       // it does not assure that mod_rewrite is enabled on current host, so setting 1                        $iModStat = in_array( 'mod_rewrite', apache_get_modules() ) ? 1 : 0;                    } else {                        $iModStat = -1;                    }                    //workaround nach Marco   $iModStat = 2;                }[b]//                break;[/b]            case 'allow_url    usw.....

Ich verstehe das nicht so wirklich. Um ehrlich zu sein, ich verstehe gar nix mehr. Bei Debian reichte es aus, Deinen Dreck einzufügen. Bei Suse11 ist das wohl eher schwarzes Loch.

Wie auch immer, ich habe den Shop jetzt erfolgreich auf meinem Server installieren können, allerdings noch nicht richtig ausprobiert. Bin gespannt, ob da noch irgendwelche Bugs auftauchen.

Irgendwie scheint Euere Testroutine noch nicht ganz ausgereift.

also dann, viel Spaß beim Forschen und wenn Du Fragen hast, dann einfach melden. Ich kann ja notfalls vorbeikommen, Neuenburg ist ja nur einen Katzensprung von FR entfernt.

Vielleicht kann loeffel auch etwas damit anfangen. Hast Du auch die Groß/Kleinschreibung beachtet?

Grüsse Andreas

Danke, bartsan1! Es funktioniert jetzt tatsächlich, musste nur break;entfernen.

Konnte es fertig installieren, aber leider erhalte ich im Frontend immer Bad Request Fehler, egal auf was für einen Link ich klicke.

OXID ist auf root/shop/ installiert, dementsprechend hab ich die htaccess mit RewriteBase wiedermal von / auf /shop/ abgeändert, aber das half auch nichts.

Muss man die URLs erst neu schreiben (bei Magento musste man den Cache deaktivieren um solche Änderungen durchzuführen, gibt es hier etwas ähnliches?)

Es wird zwar immer versucht eine URL in meinedomain.de/shop/ zu öffnen (also denke ich, das die RewriteBase richtig konfiguriert ist), aber trotzdem lande ich immer im not found

Hi loeffel,

hast du die htaccess aktiv die beim Download dabei war ? Bei meiner lokalen Erstinstallation war die Datei .htaccess versteckt und ich habe sie übersehen mitzukopieren.

Deine htaccess sollte etwa so aussehen:

<IfModule mod_rewrite.c>Options +FollowSymLinksRewriteEngine OnRewriteCond %{REQUEST_URI} !(/admin/|/core/|/export/|/modules/|/out/|/setup/|/tmp/|/views/)RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule !(.html|/|.jpg|.css|.pdf|.doc|.gif|.png|.js)$ %{REQUEST_URI}/ [R=301,L]RewriteCond %{REQUEST_URI} !(/admin/|/core/|/export/|/modules/|/out/|/setup/|/tmp/|/views/)RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule (.html|/)$ oxseo.php</IfModule>

Mit der richtigen htaccess hat es geklappt.

MfG

Firefax

Also das hier ist meine .htaccess aus dem root Verzeichnis. Habe diese wie oben beschrieben eben mit RewriteBase erweitert, hat aber auch nichts gebracht.

<IfModule mod_rewrite.c>Options +FollowSymLinksRewriteEngine OnRewriteBase /shop/RewriteCond %{REQUEST_URI} !(/admin/|/core/|/export/|/modules/|/out/|/setup/|/tmp/|/views/)RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule !(.html|/|.jpg|.css|.pdf|.doc|.gif|.png|.js)$ %{REQUEST_URI}/ [R=301,L]RewriteCond %{REQUEST_URI} !(/admin/|/core/|/export/|/modules/|/out/|/setup/|/tmp/|/views/)RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule (.html|/)$ oxseo.php</IfModule>Options -Indexes

EDIT: Meine DB enthält auch nur 57 Einträge, obwohl ich die Demo Daten installiert habe. Oder ist das normal?

Hallo,

nicht mehr die Zähne ausbeissen, ab dem 8. April ist das Geschichte:https://bugs.oxid-esales.com/view.php?id=683

57 DB-Tabellen sind korrekt. Ist bei mir auch so.

Gruß


Marco Steinhäuser
Community Guide
OXID eSales AG

Mir scheint im /pfad/zu/oxid/setup/test/test.php läuft was schief.

Habe es jetzt auf diversen Systemen versucht und bei fast keinem erkennt er mod_rewrite richtig. Ich lösche dann immer in der o.g. Datei alles weg und schreibe nur

echo ‘mod_rewrite_on’;

rein, und schon klappt es…

mfg

Amok

Ich habe gerade gesehen, da gibt es ja auch ne .htaccess Datei. Die sollte anders aussehen. Da steht

<IfModule mod_rewrite.c>

RewriteEngine On

</IfModule>

Das klappt aber unter Suse und diversen anderen nicht. Ohne die IfModule Section also einfach nur

RewriteEngine On

funktioniert das!

mfg

Amok