Modrewrite .htacces
Nichtskönner
- https
0 frankx
Hallo,
bisher rufen wir eine spezielle URL immer auf http://exampel.com/buch/?sub=oisdfsd
Gewünscht ist:
http://exampel.com/buch/oisdfsd
Meine überlegte Regel für die .htacces ist:
RewriteEngine on
RewriteRule ^/buch/([0-9]+)$ /buch/index.php?sub=$1
Leider führt das nur zu einem 404.
Danke für eure Hilfe
Nichtskönner
Ahoi,
RewriteRule ^buch/([0-9]+)$ buch/index.php?sub=$1 [L]
Außerdem fehlt "nicht aber 'buch/index'", was entweder in dem Rule eingebaute werden müsste (^index) oder so, oder in einer RewriteCond .. "!^buch/index".*" oder so ähnlich.
Dank und Gruß,
Hallo Frankx,
ich habe es leider nicht verstanden was du mir sagen möchtest.
Danke
Nichtskönner
Ahoi,
RewriteRule ^buch/([0-9]+)$ buch/index.php?sub=$1 [L]
Außerdem fehlt "nicht aber 'buch/index'", was entweder in dem Rule eingebaute werden müsste (^index) oder so, oder in einer RewriteCond .. "!^buch/index".*" oder so ähnlich.
Dank und Gruß,
Ahoi,
Hallo Frankx,
ich habe es leider nicht verstanden was du mir sagen möchtest.
Enferne vielleicht den beginnenden Slash. Setzt [L] damit die Ausführung zu beenden, was aber u.U. nichts hilft, weil irgendwie intern nochmal gerewritten wird und dann wird immer "buch am anfang" gefunden. Das soll aber nur umgeschrieben werden, wenn "buch aber nicht gefolgt von slash-index.html" da steht.
»» RewriteRule ^buch/([0-9]+)$ buch/index.php?sub=$1 [L]
»»
»» Außerdem fehlt "nicht aber 'buch/index'", was entweder in dem Rule eingebaute werden müsste (^index) oder so, oder in einer RewriteCond .. "!^buch/index".*" oder so ähnlich.
Dank und Gruß,
nixerklärenkönnender
echo $begrüßung;
» ich habe es leider nicht verstanden was du mir sagen möchtest.
@Nichtskönner: Der Unterschied war der / am Anfang, falls du das übersehen hast.
Enferne vielleicht den beginnenden Slash. Setzt [L] damit die Ausführung zu beenden, was aber u.U. nichts hilft, weil irgendwie intern nochmal gerewritten wird und dann wird immer "buch am anfang" gefunden.
Eben. Das L-Flag steht nur für das Ignorieren aller nachfolgenden Regeln in dieser Konfigurationsdatei. Durch den internen Redirect (anders ist mod_rewrites Arbeitsweise in einer Verzeichniskonfigurationsdatei nicht möglich) kommt es immer dann zu einer erneuten Bearbeitung gemäß der notierten Regeln, wenn der Request im gleichen Verzeichnis bleibt. Man sollte mit zwei RewriteCond(itionen) dafür sorgen, dass real existiertende Verzeichnisse und Dateien von der nachfolgend zu notierenden Regel ausgeschlossen werden.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
echo "$verabschiedung $name";