Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Mod Rewrite Problem

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 26.09.2008, 08:47

dirk30 hat geschrieben:ja wenn ich die Codezeile eingebe erscheint eine Witze-Unterseite z.B https://www.jokes-humour.com/category/1 ... wyer-Jokes
Schön, halten wir fest: Deine .htaccess funktioniert. Der Aufruf von joke.php via RewriteRule funktioniert ebenfalls. Warum das Gleiche mit dem Muster für jokes/123 nicht funktioniert, ist mir schleierhaft; ich habe deine eingangs zitierte .htaccess bei mir ausprobiert, sie tut, was sie soll.
Von hier aus kann ich da nur noch einen Tipp geben, denn das scheint wieder so ein vertrackter Fehler zu sein, bei dem nur noch verzweifelfte Trippelschritte helfen.

Deine .htaccess sieht momentan so aus:

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^category/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ joke.php?jokeid=$1 [NC]
#RewriteRule ^category/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ list.php?catid=$1&pagenum=$2&listtype=$3 [NC]

1. Füge nach "RewriteEngine on" eine Zeile "RewriteBase /" ein.

2. Kopiere die ja funktionierende category->joke-Testzeile, d.h. mache zwei daraus, und kommentiere eine davon mittels des Nummernzeichens aus. Die so auskommentierte Zeile behältst du als Fehlerreferenz unverändert bis zum Schluss. Du hast jetzt:

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteRule ^category/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ joke.php?jokeid=$1 [NC]
#RewriteRule ^category/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ joke.php?jokeid=$1 [NC]
#RewriteRule ^category/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ list.php?catid=$1&pagenum=$2&listtype=$3 [NC]

3. Ersetze in der nicht auskommentierten joke-Testzeile "category" durch "jokes":

RewriteRule ^jokes/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ joke.php?jokeid=$1 [NC]

Ausprobieren mit Aufruf von https://www.jokes-humour.com/jokes/10/0/0/Lawyer-Jokes . Wenn's nicht funktioniert, probiere andere Wörter statt jokes in Muster und URL, meinetwegen test, abc oder dergleichen.

Wenn's hingegen funktioniert:

4. Entferne aus dem Muster alles nach dem zweiten Schrägstrich:

RewriteRule ^jokes/([0-9]+)/ joke.php?jokeid=$1 [NC]

Wiederum mit der Lawyer-Jokes-URL aus 3. ausprobieren. Wenn's funktioniert, also kein 404, aber eine leere Jokes-Seite kommt, mit einer echten jokes-URL ausprobieren. Wenn's funktioniert:

5. Die Kommentierung, d.h. das Nummernzeichen # aus der Original-category-Zeile entfernen und in die eckigen Klammern ein L einfügen, also statt [NC] jetzt [NC,L] schreiben.

Das Teil solltest jetzt vollständig funktionieren. Falls dem so ist, muss das Problem irgendwo in dem Musterbereich liegen, der sich in der jetzt funktionierenden jokes-Zeile von der in 2. behaltenen Referenz unterscheidet. Du kannst das Problem exakt lokalisieren, indem du die funktionierende jokes-Zeile Stück für Stück an die Referenz angleichst (aber merke dir, wie die funktionierende Zeile aussah; kopiere sie wieder, kommentiere eine aus und prüfe mit der anderen!).

Sollte es nicht funktionieren, kann dir nur noch der Serverbetreiber helfen, er hat weitergehende Möglichkeiten. Alternativ kannst du das joke.php-Skript so umschreiben, dass es statt $_GET["jokeid"] $_SERVER["PATH_INFO"] verarbeitet.

Schreib' doch nochmal, wie's ausgeht, würde mich interessieren.

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

dirk30
PostRank 8
PostRank 8
Beiträge: 883
Registriert: 15.02.2007, 20:48

Beitrag von dirk30 » 26.09.2008, 16:25

hab das Problem gefunden

die jokes.sql wo die Struktur der Datenbanken drin ist habe ich nicht nur in die Datenbank hochgeladen sondern die Datei auch normal mit den anderen Dateien per FTP ins Verzeichnis übertragen. Nachdem ich sie gelöscht habe funktioniert es jetzt.

Danke aber für deine Hilfe. Kenne mich nach stundenlangen probieren wenigstens ein bissel besser mit Mode Rewrite aus.

Mamphil
PostRank 5
PostRank 5
Beiträge: 325
Registriert: 10.06.2008, 22:44

Beitrag von Mamphil » 26.09.2008, 17:36

Mork vom Ork hat geschrieben:Sein Server hat Content Negotiation eingeschaltet, so dass der Apache automatisch die den Browser-Wünschen entsprechende Datei aussucht. Beim Aufruf von "bla.html" würde der Server zum Beispiel von den beiden Dateien bla.html.de und bla.html.en die deutschsprachige Fassung bla.html.de ausliefern, falls der Browser signalisiert, sein Herr und Gebieter bevorzuge die deutsche Sprache.
Ich weiß schon, warum ich solche Geschichten nicht leiden kann...

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag