
Hallo, wie dem Betreff zu entnehmen ist, schaffe ich es nicht, mod_rewrite in meinem php/Apache zu aktivieren. Bei mir läuft eine openSUSE 12.2 64bit mit apache2 und php5 aus den Standard-Repos. Ich habe bereits - um ganz auf Nummer Sicher zu gehen - das yast2-Modul für http nachinstalliert und gemäß dieser Anleitung [1] rewrite enabled, anschließend einen Neustart gemacht. Leider ohne Erfolg; selbst ein reboot des ganzen Rechners brachte nichts. Wenn ich mit "a2enmod rewrite" nachhelfe, meldet er mir ""rewrite" already present". Gibt es jemanden, der das am Laufen hat? Ich wäre echt dankbar für Ideen, weil ich seit heute Vormittag an dem Problem herumbastele. Gruß & Guten Rutsch, Alex [1] http://www.sebastian-heinisch.de/opensuse-apache-mod_rewrite/2009-08-08/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am Montag, 31. Dezember 2012, 15:30:08 schrieb Alex Winzer:
Hallo,
wie dem Betreff zu entnehmen ist, schaffe ich es nicht, mod_rewrite in meinem php/Apache zu aktivieren. Bei mir läuft eine openSUSE 12.2 64bit mit apache2 und php5 aus den Standard-Repos.
Ich habe bereits - um ganz auf Nummer Sicher zu gehen - das yast2-Modul für http nachinstalliert und gemäß dieser Anleitung [1] rewrite enabled, anschließend einen Neustart gemacht. Leider ohne Erfolg; selbst ein reboot des ganzen Rechners brachte nichts. Wenn ich mit "a2enmod rewrite" nachhelfe, meldet er mir ""rewrite" already present".
Gibt es jemanden, der das am Laufen hat?
Wenn es als Modul bereits drin ist, reicht es, wenn man in der .htaccess entsprechende Regeln reinschreibt. Beispielsweise solche wie die hier: <IfModule mod_rewrite.c> RewriteEngine On RewriteOptions Inherit Options -MultiViews +FollowSymLinks RewriteRule ^login$ login.php?login [L] RewriteRule ^logout$ login.php?logout [L] RewriteRule ^index.html$ index.php [L] RewriteRule ^News/([0-9]+)?$ feed.php?news=$1 [L] RewriteRule ^Programm/([0-9]+)?$ feed.php?programm=$1 [L] # Grafikverarbeitung RewriteRule ^image=(.*);([0-9]+)$ image.php?show=$1&thumb=$2 [L] RewriteRule ^image=(.*)$ image.php?show=$1&thumb=0 [L] </IfModule> Grüße Udo -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo und danke für die Antwort, Am 31.12.2012 15:47, schrieb Udo Neist:
Am Montag, 31. Dezember 2012, 15:30:08 schrieb Alex Winzer:
Hallo,
wie dem Betreff zu entnehmen ist, schaffe ich es nicht, mod_rewrite in meinem php/Apache zu aktivieren. Bei mir läuft eine openSUSE 12.2 64bit mit apache2 und php5 aus den Standard-Repos.
[...]
Gibt es jemanden, der das [mod_rewrite] am Laufen hat? Wenn es als Modul bereits drin ist, reicht es, wenn man in der .htaccess entsprechende Regeln reinschreibt. Beispielsweise solche wie die hier:
Ich habe im Verzeichnis /srv/www/htdocs/test eine Datei namens hello.php. Rufe ich im browser http://127.0.0.1/test/hello.php auf, wird mir der Inhalt angezeigt. Ich habe/hatte bereits im selben Verzeichnis die Datei .htaccess mit folgendem Inhalt: <IfModule mod_rewrite.c> RewriteEngine On RewriteOptions Inherit Options -MultiViews +FollowSymLinks RewriteRule ^hello.html$ hello.php </IfModule> Wenn ich das richtig verstehe, sollte mir jetzt bei Eingabe von http://127.0.0.1/test/hello.html die Datei hello.php angezeigt werden. Stattdessen erhalte ich den Error 404 :-(
<IfModule mod_rewrite.c> RewriteEngine On RewriteOptions Inherit Options -MultiViews +FollowSymLinks
RewriteRule ^image=(.*)$ image.php?show=$1&thumb=0 [L] </IfModule> Bestätigt meine Annahme eher.
Gibt es - außer try and error - eine Möglichkeit, herauszufinden, ob rewrite geladen wurde und woran es liegt? Es wurde der Hinweis gegeben, man solle die error.log auswerten. Die ist bei mir aber leer. Wo kann ich denn noch etwas drehen? Ich habe jetzt übrigens auf meinem Rechner mit openSUSE 12.2 _32bit_ nachgesehen. Dort besteht dasselbe Problem. Es scheint also weder distributions- noch rechnerabhängig zu sein. Der Vollständigkeit halber muss ich sagen, dass es zu dem Thema ein Bugreport gibt [2]. Allerdings weiß ich nicht, wie ich mich dort einklinken kann und das Thema gärt dort auch schon seit September. Das ist nicht gerade befriedigend. Gruß, Alex [2] https://bugzilla.novell.com/show_bug.cgi?id=781677 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am Montag, 31. Dezember 2012, 17:07:16 schrieb Alex Winzer:
Ich habe im Verzeichnis /srv/www/htdocs/test eine Datei namens hello.php. Rufe ich im browser http://127.0.0.1/test/hello.php auf, wird mir der Inhalt angezeigt. Ich habe/hatte bereits im selben Verzeichnis die Datei .htaccess mit folgendem Inhalt:
<IfModule mod_rewrite.c> RewriteEngine On RewriteOptions Inherit Options -MultiViews +FollowSymLinks
RewriteRule ^hello.html$ hello.php </IfModule>
Steht in der /etc/apache2/sysconfig.d/loadmodule.conf auch folgende Zeile (hab hier den Apache2-Prefork laufen)? LoadModule rewrite_module /usr/lib64/apache2- prefork/mod_rewrite.so In der Konfiguration des entsprechenden Hosts ist bei mir nichts weiter drin. Falls es dir hilft, lass dir vom Indianer noch ein Log schreiben: RewriteLog /var/log/apache2/rewrite_log Grüße Udo -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

wie dem Betreff zu entnehmen ist, schaffe ich es nicht, mod_rewrite in meinem php/Apache zu aktivieren. Bei mir läuft eine openSUSE 12.2 64bit mit apache2 und php5 aus den Standard-Repos.
Ich habe bereits - um ganz auf Nummer Sicher zu gehen - das yast2-Modul für http nachinstalliert und gemäß dieser Anleitung [1] rewrite enabled, anschließend einen Neustart gemacht. Leider ohne Erfolg; selbst ein reboot des ganzen Rechners brachte nichts. Wenn ich mit "a2enmod rewrite" nachhelfe, meldet er mir ""rewrite" already present".
Gibt es jemanden, der das am Laufen hat?
Ich wäre echt dankbar für Ideen, weil ich seit heute Vormittag an dem Problem herumbastele.
Hallo Alex, auf einen nicht ganz so neuen System habe ich: in meiner /etc/sysconfig/apache2 APACHE_MODULES="...... rewrite setenvif ssl userdir php5" und APACHE_SERVER_FLAGS="SSL" in meiner /etc/apache2/default-server.conf ### aus irgendeinem grund funktioniert ifmodule nicht mit rewrite #### #<IfModule rewrite> RewriteLock /var/run/rewrite.lock RewriteEngine on RewriteMap image prg:/home/wolfgang/web/2012/cgi-bin/imghash.pl RewriteMap friendly prg:/home/wolfgang/web/2012/cgi-bin/friendlylink.pl #RewriteLog /tmp/rewrite.tmp RewriteLogLevel 2 #</IfModule> Viele Grüsse Wolfgang Hamann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo Wolfgang, Am 31.12.2012 16:57, schrieb hamann.w@t-online.de:
wie dem Betreff zu entnehmen ist, schaffe ich es nicht, mod_rewrite in meinem php/Apache zu aktivieren. Bei mir läuft eine openSUSE 12.2 64bit mit apache2 und php5 aus den Standard-Repos.
[...]
Gibt es jemanden, der das [mod_rewrite] am Laufen hat?
Ich wäre echt dankbar für Ideen, weil ich seit heute Vormittag an dem Problem herumbastele. Hallo Alex,
auf einen nicht ganz so neuen System habe ich:
in meiner /etc/sysconfig/apache2 APACHE_MODULES="...... rewrite setenvif ssl userdir php5" und APACHE_SERVER_FLAGS="SSL" Das war/ist bei mir schon so. Wenn ich "|<?php phpinfo(); ?>|" ausführen lasse, steht mod_rewrite bei "Loaded Modules" mit dabei.
in meiner /etc/apache2/default-server.conf ### aus irgendeinem grund funktioniert ifmodule nicht mit rewrite #### Das scheint das Problem zu sein.
#<IfModule rewrite> RewriteLock /var/run/rewrite.lock RewriteEngine on RewriteMap image prg:/home/wolfgang/web/2012/cgi-bin/imghash.pl RewriteMap friendly prg:/home/wolfgang/web/2012/cgi-bin/friendlylink.pl #RewriteLog /tmp/rewrite.tmp RewriteLogLevel 2 #</IfModule> Diese Zeilen füge ich einfach in die Datei /etc/apache2/default-server.conf ein? Das ist alles?
Ich habe jetzt erstmal in der Datei /etc/apache2/default-server.conf den Wert "AllowOverride None" durch "AllowOverride All" ersetzt. Damit funktioniert es mit meinem Test-Code und mittlerweile auch in meinem Produktivcode. Um ehrlich zu sein habe ich aber keine Ahnung, ob ich mir damit nicht selbst ein Sicherheitsleck gebastelt habe. Das wäre unschön. Die Frage ist bloß, ob das dann wirklich ein Bug ist. Denn es klingt plausibel, dass Override erlaubt werden muss, wenn ich im jeweiligen Verzeichnis mit .htacess die Einstellungen überschreibe. Das sind erstmal meine Gedanken dazu. Gruß, Dank & Guten Rutsch, Alex -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo Wolfgang,
Am 31.12.2012 16:57, schrieb hamann.w@t-online.de:
wie dem Betreff zu entnehmen ist, schaffe ich es nicht, mod_rewrite in meinem php/Apache zu aktivieren. Bei mir läuft eine openSUSE 12.2 64bit mit apache2 und php5 aus den Standard-Repos.
[...]
Gibt es jemanden, der das [mod_rewrite] am Laufen hat?
Ich wäre echt dankbar für Ideen, weil ich seit heute Vormittag an dem Problem herumbastele. Hallo Alex,
auf einen nicht ganz so neuen System habe ich:
in meiner /etc/sysconfig/apache2 APACHE_MODULES="...... rewrite setenvif ssl userdir php5" und APACHE_SERVER_FLAGS="SSL" Das war/ist bei mir schon so. Wenn ich "|<?php phpinfo(); ?>|" ausführen lasse, steht mod_rewrite bei "Loaded Modules" mit dabei.
in meiner /etc/apache2/default-server.conf ### aus irgendeinem grund funktioniert ifmodule nicht mit rewrite #### Das scheint das Problem zu sein.
#<IfModule rewrite> RewriteLock /var/run/rewrite.lock RewriteEngine on RewriteMap image prg:/home/wolfgang/web/2012/cgi-bin/imghash.pl RewriteMap friendly prg:/home/wolfgang/web/2012/cgi-bin/friendlylink.pl #RewriteLog /tmp/rewrite.tmp RewriteLogLevel 2 #</IfModule> Diese Zeilen füge ich einfach in die Datei /etc/apache2/default-server.conf ein? Das ist alles?
Ich habe jetzt erstmal in der Datei /etc/apache2/default-server.conf den Wert "AllowOverride None" durch "AllowOverride All" ersetzt. Damit funktioniert es mit meinem Test-Code und mittlerweile auch in meinem Produktivcode. Um ehrlich zu sein habe ich aber keine Ahnung, ob ich mir damit nicht selbst ein Sicherheitsleck gebastelt habe. Das wäre unschön. Die Frage ist bloß, ob das dann wirklich ein Bug ist. Denn es klingt plausibel, dass Override erlaubt werden muss, wenn ich im jeweiligen Verzeichnis mit .htacess die Einstellungen überschreibe. Das sind erstmal meine Gedanken dazu.
Hallo Alex, a) auf meiner Kiste gab es das Problem, dass IfModule nicht wollte. Der Rest sind normale Direktiven, nur dass dummerweise auch RewriteMap prg: (da wird ein Programm gestartet, was jeweils eine url erhält und eine umgeschriebbene zurückgibt) etwas launisch ist, und die Anweisungen nur an dieser Stelle wirklich funktionieren. Ein rewrite log zumindest temporär hat mir durchaus geholfen... insbesondere als es darum ging, den rewrite prg Mechanismus auf den https Server auszuweiten b) Die Dokumentation von rewrite sagt irgendwas, dass symlinks erlaubt sein müssen. Also anstelle von AllowOverride all vielleicht nur dort die symlinks erlauben, wo es notwendig ist. Hier erscheint mir die Variante "IfOwnerMatches" im Hinblick auf Sicherheit recht sinnvoll. Wolfgang Hamann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo Alex, hallo Leute, Am Montag, 31. Dezember 2012 schrieb Alex Winzer:
Ich habe jetzt erstmal in der Datei /etc/apache2/default-server.conf den Wert "AllowOverride None" durch "AllowOverride All" ersetzt. Damit funktioniert es mit meinem Test-Code und mittlerweile auch in meinem Produktivcode. Um ehrlich zu sein habe ich aber keine Ahnung, ob ich mir damit nicht selbst ein Sicherheitsleck gebastelt habe. Das wäre unschön.
AllowOverride All erlaubt wahrscheinlich mehr als Du willst ;-) Laut http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html brauchst Du für mod_rewrite nur AllowOverride FileInfo (siehe die Angaben hinter "Override) Auf http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride steht, was die einzelnen Overrides erlauben. Damit kannst Du selbst entscheiden, was Du erlauben willst. (Tip: Options willst Du eher nicht erlauben.) Gruß Christian Boltz -- Wie meinte doch neulich ein OS/2 oder CygWin-User: PATH=C:\backspace\return;E:\tab\newline;D:\home W:\pakete\mypaket\configure --prefix=F:\fondlinge [Ralf Corsepius in suse-programming] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (4)
-
Alex Winzer
-
Christian Boltz
-
hamann.w@t-online.de
-
Udo Neist