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.
dirk30
PostRank 8
PostRank 8
Beiträge: 883
Registriert: 15.02.2007, 20:48

Beitrag von dirk30 » 24.09.2008, 11:24

Hallo,

habe ein Problem mit folgenden Code:

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

die drite Zeile die Kategorie funktioniert einwand frei. Nur die zweite funktioniert nicht ist in der zweite Zeile ein Variable falsch oder kann es wo anders dran liegen?

Gruss
Dirk

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

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

Beitrag von Mamphil » 24.09.2008, 11:35

Hi,

was soll denn rauskommen?
jokes/meinWitz/12345 wird weitergeleitet auf joke.php?jokeid=meinWitz.

Mamphil

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

Beitrag von dirk30 » 24.09.2008, 11:44

im Moment wird mit Mode Rewrite diese URL angezeigt xxx
da kommt ein 404

wenn ich im Webrowser das s von jokes streiche zeigt er mir kein 404 mehr an aber es wird in den Fall kein Inhalt (der Witz)angezeigt der in einer SQL Datenbank liegt.

xxx

Ist die Orginal .htacess die beim Script dabei war. Was kann falsch sein?

Gruss
Dirk
Zuletzt geändert von dirk30 am 27.09.2008, 02:47, insgesamt 1-mal geändert.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

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

Beitrag von Mamphil » 24.09.2008, 11:55

Hi,

ist das wirklich die aktuell genutzte .htaccess, die auch online ist?

Mamphil

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

Beitrag von dirk30 » 24.09.2008, 12:00

das ist noch eine Zeile mehr drin siehe 1 Zeile aber mit oder ohne diese zeile ist das ergebnis gleich

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^jokes/([0-9]+)/(.*)$ joke.php?jokeid=$1 [NC]
RewriteRule ^category/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ list.php?catid=$1&pagenum=$2&listtype=$3 [NC]
Zuletzt geändert von dirk30 am 24.09.2008, 12:08, insgesamt 1-mal geändert.

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

Beitrag von Mamphil » 24.09.2008, 12:08

Da gibt es aber einen großen Unterschied... Probier mal folgendes:

Code: Alles auswählen

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^jokes/([0-9]+)/(.*)$ joke.php?jokeid=$1 [NC,L]
RewriteRule ^category/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ list.php?catid=$1&pagenum=$2&listtype=$3 [NC,L]
Mamphil

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

Beitrag von dirk30 » 24.09.2008, 12:11

klappt leider nicht.

Kategorie Seiten kein Problem wie vorher. Witze Unterseiten = 404

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

Beitrag von Mamphil » 24.09.2008, 12:16

Irgendwie glaube ich nicht, dass das die einzigen mod_rewrite-Einstellungen sind, die du konfiguriert hast, denn ich sehe nicht, wieso https://www.jokes-humour.com/joke/82/ funktionieren sollte - es sei denn, du hast noch ein Verzeichnis /joke/ mit einer zusätzlichen .htaccess

Darum: Was für einen Webspace hast du denn? Betreibst du deinen eigenen Server? Hast du mal soetwas einfaches probiert:

Code: Alles auswählen

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^jokes/(.*)/(.*)$ joke.php?jokeid=$1&Param2=$2 [R=302]
Mamphil

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

Beitrag von dirk30 » 24.09.2008, 12:27

[quote="Mamphil"]Irgendwie glaube ich nicht, dass das die einzigen mod_rewrite-Einstellungen sind, die du konfiguriert hast, denn ich sehe nicht, wieso x funktionieren sollte - es sei denn, du hast noch ein Verzeichnis /joke/ mit einer zusätzlichen .htaccess

ne gibt kein Verzeichnis gibt nur in der Tabelle SQL Tabelle jokes ein Feld mit den Namen joke (Wo die Witze selber drin sind)

diese Seite xliegt auf den selben Webspace da habe ich kein Problem mit Mode Rewrite

die Orginal Urls schauen so aus
x
Zuletzt geändert von dirk30 am 27.09.2008, 02:48, insgesamt 1-mal geändert.

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 24.09.2008, 19:15

Mamphil hat geschrieben:ich sehe nicht, wieso /joke/82/ funktionieren sollte - es sei denn, du hast noch ein Verzeichnis /joke/ mit einer zusätzlichen .htaccess
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.

In diesem Fall wird für beim Aufruf der URL /joke die Resource joke.php ausgewählt.

Weiterhin kommt hinzu, dass offenkundig die Option Path Info ebenfalls aktiviert ist. Beim Aufruf eines wie auch immer „lebendigen“ Inhalts, wie eben ein PHP-Skript, lässt sich an den Skriptnamen noch weiterer Krams verzeichnismäßig anhängen. Man kann also /bla.php/123/456 aufrufen, es wird das Skript bla.php ausgeführt und bekommt in der Variablen PATH_INFO den Text /123/456 übergeben.

Content Negotiation und Path Info zusammen führen dazu, dass man hier /joke/82/Horse-power aufrufen kann. Für /joke wird joke.php ausgewählt, und das kein Witz kommt, liegt daran, dass joke.php einen URL-Parameter jokeid erwartet, nicht die Variable PATH_INFO.

Es eröffnen sich somit zwei Lösungsmöglichkeiten:

1.
mod_rewrite über Bord kippen und Skript für PATH_INFO umschreiben.


2.
Wie du schon vorgeschlagen hattest, dies in /.htaccess

RewriteEngine on
RewriteBase /
RewriteRule ^jokes/([0-9]+) joke.php?jokeid=$1 [R=302]

und schauen, ob und wenn ja, an welche URL weitergeleitet wird. Falls keine Weiterleitung erfolgt, passt das Muster nicht; dann Muster testweise kürzen, zum Beispiel

RewriteRule ^jokes joke.php?jokeid=82 [R=302]

(Nicht kürzer als jokes machen, dann gibt's eine Endlosschleife.)

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

Beitrag von dirk30 » 24.09.2008, 19:54

mit 2 passiert nicht zeigt an wie davor 404 x
Warum funktioniert es eigentlich bei den Kategorien Seiten aber bei den Unterseiten der Witze nicht? Müsste doch eigentlich bei beiden dann nicht gehen?

Ich kann bei meinen Provider folgende Sachen ändern ist da irgendwas bei was die beiden Sachen Path Info und.... betreffen?
PHP-Errors Im Browser ausgeben ändern
PHP-RegisterGlobals
PHP-Magic-
PHP-Zend-ZE1-Kompatibilität
PHP-Register-Long-Arrays Serverstandard ändern
PHP-Session-Use-Trans-SID Serverstandard ändern
PHP-Allow-Call-Time-Pass-Reference Serverstandard ändern
PHP-MySQL-Secure-Login Serverstandard ändern
PHP Suhosin Session Encryption Serverstandard ändern
PHP Suhosin Mail Protection 1
PHP Suhosin RPG Max Vars
PHP5-Extensions einstellen
CGI-Extensions einstellen
Directoryindex einstellen
Zuletzt geändert von dirk30 am 27.09.2008, 02:48, insgesamt 1-mal geändert.

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 25.09.2008, 08:33

dirk30 hat geschrieben:mit 2 passiert nicht zeigt an wie davor 404 https://www.jokes-humour.com/jokes/82/Horse-power/
Ändere die RewriteRule-jokes-Zeile doch mal in

RewriteRule jokes joke.php?jokeid=82 [R=302]

und melde dich wieder, wenn's drin ist. Zitiere dann auch deine vollständige .htaccess und baue die Zeile nicht aus, egal, was passiert.
Warum funktioniert es eigentlich bei den Kategorie-Seiten, aber bei den Unterseiten der Witze nicht?
Das ist genau der Knackpunkt. Eigentlich kann das, was da gerade passiert, nicht sein, deswegen ist es unerlässlich, dass wir deine .htaccess genau kennen, ohne Änderung, um auszuschließen, dass wir hier etwas beobachten, was von einer völlig anderen .htaccess veranstaltet wird.
Ich kann bei meinen Provider folgende Sachen ändern ist da irgendwas bei was die beiden Sachen Path Info und.... betreffen?
Da bräuchtest du nichts ändern, beides ist bereits eingeschaltet. Möchtest du es ausschalten, schreibst du folgendes in deine .htaccess:

AcceptPathInfo off
Options -MultiViews

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

Beitrag von dirk30 » 25.09.2008, 09:17

habe die zeile eingefügt komplette .htacess schaut jetzt so aus.


Options +FollowSymlinks
RewriteEngine on

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



Angezeigt wenn ich auf den Witze 82 klicke wird jetzt folgende URL (mit 404 Fehler)

x
Zuletzt geändert von dirk30 am 27.09.2008, 02:48, insgesamt 1-mal geändert.

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 25.09.2008, 15:52

dirk30 hat geschrieben:RewriteRule jokes joke.php?jokeid=82 [R=302]

Angezeigt wenn ich auf den Witze 82 klicke wird jetzt folgende URL (mit 404-Fehler)

https://jokes-humour.com/jokes/82/Horse ... rsv07b8se1
Dann greift das Muster überhaupt nicht. Was passiert, wenn du die category-Zeile auskommentierst (# davorsetzen), gibt's dann auch bei category-Aufrufen einen 404? Falls ja: Was passiert, wenn du die category-Zeile wie folgt abänderst:

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

Das Muster bleibt gleich, lediglich das Ziel wird geändert. Es müsste beim Aufruf einer Kategorie also statt wie bisher einer Kategorie ein Witz erscheinen.

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

Beitrag von dirk30 » 25.09.2008, 17:16

ja wenn ich die Codezeile eingebe erscheint eine Witze Unterseite z.B x nur ohne Witze weil mit der ID na klar kein Witz in der DB ist.
Zuletzt geändert von dirk30 am 27.09.2008, 02:49, insgesamt 1-mal geändert.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag