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.dirk30 hat geschrieben:ja wenn ich die Codezeile eingebe erscheint eine Witze-Unterseite z.B https://www.jokes-humour.com/category/1 ... wyer-Jokes
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.