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.
Neues Thema Antworten
pnm
PostRank 4
PostRank 4
Beiträge: 108
Registriert: 20.02.2004, 12:12
Wohnort: Balve

Beitrag von pnm » 30.08.2006, 22:06

Hallo,

irgendwie habe ich mich ziemlich festgefahren. Ich nutze diese Regel, um einige Tags umzuschreiben. Eigentlich keine große Sache, die hat es aber irgendwie in sich.

Code: Alles auswählen

RewriteEngine On

RewriteRule ^([a-zA-Z0-9_-]+).([0-9]+).html /template.html?AID=$2
RewriteRule ^tag/([0-9]+)/([a-zA-Z0-9_-]+).html$ /tags_display.html?TID=$1&TAG=$2

ErrorDocument 404 /404.html
So, die erste Regel ist für die Anzeige von Artikeln gedacht. Funktioniert auch. Die Zweite listet die Artikel anhand der Tags auf. Soweit alles klar. Ich habe jetzt nur irgendwie ein 404-Problem. Alles leitet irgendwie auf die Artikelseiten zurück. Sende ich in PHP ein 404:

Code: Alles auswählen

    header("HTTP/1.1 404 Not Found");
    header("Location: /404.html");
    die();
wird der folgender Header gesendet:

Code: Alles auswählen

HTTP/1.1 302 Found
Date: Wed, 30 Aug 2006 20:59:37 GMT
Server: Apache
X-Powered-By: PHP/4.3.10-12
Location: /404.html
Transfer-Encoding: chunked
Content-Type: text/html

HTTP/1.1 200 OK
Date: Wed, 30 Aug 2006 20:59:38 GMT
Server: Apache
X-Powered-By: PHP/4.3.10-12
Transfer-Encoding: chunked
Content-Type: text/html
Hat da jemand eine Ahnung? Danke vorab!

grüße

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

Kralle
PostRank 10
PostRank 10
Beiträge: 2925
Registriert: 08.04.2005, 00:47
Wohnort: Deggingen

Beitrag von Kralle » 30.08.2006, 23:00

Deine RewriteRule greift auch bei der 404.html!

Versuch mal das hier (ohne Gewähr):

Code: Alles auswählen

RewriteEngine On

RewriteCond %{HTTP_HOST} !^/404.html$ [NC]
RewriteRule ^([a-zA-Z0-9_-]+).([0-9]+).html /template.html?AID=$2
RewriteRule ^tag/([0-9]+)/([a-zA-Z0-9_-]+).html$ /tags_display.html?TID=$1&TAG=$2 

ErrorDocument 404 /404.html

Babelfisch
PostRank 5
PostRank 5
Beiträge: 204
Registriert: 05.10.2005, 14:15
Wohnort: Leipzig

Beitrag von Babelfisch » 31.08.2006, 00:20

pnm hat geschrieben:Sende ich in PHP ein 404:

Code: Alles auswählen

    header("HTTP/1.1 404 Not Found");
    header("Location: /404.html");
    die();
Dein header("Location:...") sende natürlich den Statuscode 302 Found, da brauchst du dich also nicht zu wundern. Wie sollte auch sonst eine gemacht werdem. Dein vorher gesendeter 404er wird dabei einfach überschrieben.

Also entweder weiterleiten (dann aber bitte mit einer absoluten URL) oder 404 senden und eine entsprechende Fehlermeldung ausgeben.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Caterham
PostRank 5
PostRank 5
Beiträge: 329
Registriert: 20.09.2004, 19:12

Beitrag von Caterham » 31.08.2006, 20:51

Deine RewriteRule greift auch bei der 404.html!
Weil vergessen worden ist, in einer regEx den Punkt zu escapen, damit er auch für einen Punkt steht.

Code: Alles auswählen

RewriteEngine On

RewriteRule ^[a-zA-Z0-9_-]+\.([0-9]+)\.html$ /template.html?AID=$1
RewriteRule ^tag/([0-9]+)/([a-zA-Z0-9_-]+)\.html$ /tags_display.html?TID=$1&TAG=$2

ErrorDocument 404 /404.html 

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag