mod_rewrite problem oder doch nicht?

piti66

Erfahrenes Mitglied
Hallo,

wie haben ein Problem auf unserer Seite nach einer Umstellung.
Folgenden rewrite regel:
RewriteRule ^news/([a-zA-Z0-9-]+)/([0-9]+)\.html$ content/news.php?id=$2 [NC,L]

Der Link geht nicht:
PHP:
www.xxxxxx.com/news/nasa-sucht-neue-astronauten/00001017.html

Der Link geht:
PHP:
www.xxxxxx.com/news/nasa-sucht-neue-astronautens/00001017.html

Also wenn ich dem Link ein s anhänge geht dass ganze ohne nicht. Bei vielen News geht es aber bei einigen wie den genannten nicht.
Kann sowas an der Datenbank liegen? Oder ne andere idee?

Mir ist gerade noch aufgefallen, dass ich den Zusatz am Ende setzten muss also dass "s" woanders geht es nicht.

mfg

Sebastian
 
Zuletzt bearbeitet:
Hm,

würde den rewrite mal sicherheitshalber so schreiben:
RewriteRule ^news/([a-zA-Z0-9-]+)/([0-9]+)\.html$ content/news.php?id=$2&title=$1 [NC,L]
wobei das nicht das Problem beheben wird...

Was meinst Du mit "Link geht nicht"?
404 Seite?
oder falsches Ergebnis aus DB?

Gib doch mal in news.php dein $_GET vars aus:
print_r($_GET);

Vielleicht hilft das ja weiter ;)

Gruß tyg3r
 
Ja die 404er Seite kommt.
$Get kann ich dir nicht ausgeben, weil ja die 404 kommt ;)
Wie gesagt ein Link geht der andere nicht, obwohl alle Sonderzeichen und Umlaute umgewandelt sind bzw. auch keine haben.
Der muss garnicht auf die news.php kommen sondern einfach abrechen.

mfg
 
Kenne den htaccess Syntax leider nicht allzu gut.
Aber ich würde ihn so schreiben:

RewriteRule ^news/([a-zA-Z0-9._-]*)/([0-9]*)\.html$ content/news.php?id=$2&title=$1 [QSA]

Probier einfach mal aus :)
 
Hat der "titel" in der URL eine programmiertechnische Bedeutung?
Oder nur SEO?

Falls Du den Titel im Code verwendest dann hast Du eventuell eine Weiterleitung auf eine Seite (welche nun, warum auch immer eine 404 ist), wenn Eintrag in DB nicht gefunden wurde ...
 
Ein bekanntes Problem mit htaccess auf unterschiedlichen Sytemen (Du meintest ja es gab nen Update) ist ein / bei der Übersetzung:

anstatt:
RewriteRule ^news/([a-zA-Z0-9._-]*)/([0-9]*)\.html$ content/news.php?id=$2&title=$1 [QSA]
mal:
RewriteRule ^news/([a-zA-Z0-9._-]*)/([0-9]*)\.html$ /content/news.php?id=$2&title=$1 [QSA]
testen.

Ansonsten weiß ich auch nicht weiter ^^
 
Zurück