Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Apche2/Mod-Rewrite -> Regeln werden nicht erkannt (https://www.delphipraxis.net/107478-apche2-mod-rewrite-regeln-werden-nicht-erkannt.html)

MCXSC 28. Jan 2008 14:12


Apche2/Mod-Rewrite -> Regeln werden nicht erkannt
 
Hallo,

ich hoffe, dass mir hier vielleicht jemand helfen kann bezüglich des Apache Mod-Rewrite-Modules.

zuerst einmal meine htaccess:

Code:
RewriteEngine On
RewriteBase /
RewriteRule ^mblog/seiten/(.*).html$ /index.php?i=mblog&seite=$1 [NC,L]
RewriteRule ^mblog/trackback/(.*).html$ /_mblog/trackback.php?id=$1 [NC,L]
RewriteRule ^mblog/tags/(.*)/seiten/(.*).html$ /index.php?i=mblog&tag=$1&seite=$2 [NC,L]
RewriteRule ^mblog/tags/(.*).html$ /index.php?i=mblog&tag=$1 [NC,L]
RewriteRule ^mblog/kategorien/(.*)_(.*)/seiten/(.*).html$ /index.php?i=mblog&kategorie=$1&seite=$3 [NC,L]
RewriteRule ^mblog/kategorien/(.*)_(.*).html$ /index.php?i=mblog&kategorie=$1 [NC,L]
RewriteRule ^mblog/kategorien/(.*).html$ /index.php?i=mblog&seite=$1 [NC,L]
RewriteRule ^mblog/(.*)/(.*).html#kommentare$ /index.php?i=mblog&eintrag=$1#kommentare [NC,L]
RewriteRule ^mblog/(.*)/(.*).html#trackbacks$ /index.php?i=mblog&eintrag=$1#trackbacks [NC,L]
RewriteRule ^mblog/(.*)_(.*).html$ /index.php?i=mblog&eintrag=$1 [NC,L]
RewriteRule ^mblog/(.*).html$ /index.php?i=mblog&show=$1 [NC,L]
RewriteRule ^mblog /index.php?i=mblog [NC,L]

#Rewrite-Rules für die Downloads
RewriteRule ^downloads/(.*)_(.*)/seiten/(.*).html$ /index.php?i=downloads&kategorie=$1&seite=$3 [NC,L]
RewriteRule ^downloads/(.*)_(.*).html$ /index.php?i=downloads&kategorie=$1 [NC,L]
RewriteRule ^downloads/(.*).html$ /index.php?i=downloads&id=$1 [NC,L]

#Rewrite-Rules für die Programme
RewriteRule ^programme/(.*)/(.*).html$ /index.php?i=programme&id=$1 [NC,L]

#Rewrite-Rules für die Tutorials
RewriteRule ^tutorials/(.*)/(.*).html$ /index.php?i=tutorials&id=$1 [NC,L]

#Rewrite-Rules für "About me"
RewriteRule ^aboutme/bilder/(.*)/(.*)_(.*).html$ /index.php?i=aboutme&show=bilder&galerie=$2 [NC,L]
RewriteRule ^aboutme/bilder/seiten/(.*).html$ /index.php?i=aboutme&show=$1&seite=$1 [NC,L]
RewriteRule ^aboutme/(.*).html$ /index.php?i=aboutme&show=$1 [NC,L]
RewriteRule ^aboutme(.*)$ /index.php?i=aboutme&show=uebermich [NC,L]

#Rewrite-Rules das Gästebuch
RewriteRule ^gaestebuch/seiten/(.*).html$ /index.php?i=gaestebuch&seite=$1 [NC,L]
RewriteRule ^gaestebuch/(.*).html$ /index.php?i=gaestebuch&action=$1 [NC,L]
RewriteRule ^gaestebuch(.*)$ /index.php?i=gaestebuch [NC,L]

#Rewrite-Rules den Formmailer
RewriteRule ^formmailer/(.*).html$ /index.php?i=formmailer&action=$1 [NC,L]
RewriteRule ^formmailer(.*)$ /index.php?i=formmailer [NC,L]

#Rewrite-Rules für "myCine"
RewriteRule ^mycine/(.*).html$ /index.php?i=mycine&show=$1 [NC,L]
RewriteRule ^mycine(.*)$ /index.php?i=mycine&show=uebersicht [NC,L]

#Rewrite-Rules für die News
RewriteRule ^news/(.*)_(.*).html$ /index.php?i=news&id=$1 [NC,L]
RewriteRule ^news/(.*).html$ /index.php?i=news&p=$1 [NC,L]
RewriteRule ^news.html$ index.php?i=news [NC,L]

# Fehlermeldungen
ErrorDocument 404 /index.php?fehler=404

# Spambots nach User_agent aussperren
RewriteCond %{HTTP_USER_AGENT} ^.*Whacker.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FileHound.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*JoBo.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*adressendeutschland.*$
RewriteRule ^.* - [F]
Nun zu meinem Problem:

Zum Beispiel bei:

Code:
#Rewrite-Rules das Gästebuch
RewriteRule ^gaestebuch/seiten/(.*).html$ /index.php?i=gaestebuch&seite=$1 [NC,L]
RewriteRule ^gaestebuch/(.*).html$ /index.php?i=gaestebuch&action=$1 [NC,L]
RewriteRule ^gaestebuch(.*)$ /index.php?i=gaestebuch [NC,L]
werden alle Regeln ignoriert, es wird immer nur "/index.php?i=gaestebuch" ausgegeben, obwohl die Regel mit "http://domain.de/gaestebuch/seiten/2.html" ja eigentlich zutreffen sollte. Im Script selbst wird allerdings keine Variable ($_GET['seite']) übergeben.

Wenn ich nun aus jedem Packet die letzte Regel entferne, so bekomme ich folgende Fehlermeldung:

Code:
Fatal error: Call to undefined function: gethtmlcontent() in /www/htdocs/v114614/gaestebuch.php on line 2
Das heißt, es wird zwar irgendwie die gaestebuch.php ausgerufen, aber wohl ohne die index.php, da dort die betreffende Funktion gestanden hätte... :(

Und das Problem tritt irgendwie bei jedem Packet auf. Lediglich die Letztzeiler (z.B. "RewriteRule ^formmailer(.*)$ /index.php?i=formmailer [NC,L]") funktionieren, also funktioniert das Modul prinzipiell ja. Ich habe allerdings keine Ahnung wieso... Hoffe mir kann hier jemand helfen... :(

MCXSC

//Edit: Auf meinem lokalen Apache 1 läuft alles ohne Probleme. Bei All inkl. läuft es jedoch nicht (Apache 2)...
//Edit 2: Mod Rewrite ist jedenfalls an. Es lief ja mal (nur nicht so viele Regeln; die alte Datei hab ich allerdings nicht mehr)... :confuse:

Olli 15. Jun 2008 23:57

Re: Apche2/Mod-Rewrite -> Regeln werden nicht erkannt
 
Code:
RewriteEngine On
für Verzeichnis oder VHost? Ansonsten RewriteLog setzen und RewriteLogLevel auf 9 setzen und mit "tail -f" der Logdatei während des Zugriffs folgen.

Übrigens, du bist sicher, daß deine .htaccess-Datei Rewrite-Regeln enthalten darf? Dazu muß AllowOverride entsprechend gesetzt sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz