Merkwürdiges mod_rewrite-Verhalten auf einigen Servern Frage Merkwürdiges mod_rewrite-Verhalten auf einigen Servern zu Favoriten hinzufügen

Daumen hoch 1 Daumen runter

Liebe Cosni-Community,

ich habe ein merkwürdiges Verhalten einer RewriteRule in der .htaccess, die ich mir partout nicht erklären kann. Vielleicht wisst ihr ja einen Rat.

Die Rule in der .htaccess lautet:

RewriteRule ^show\/(.+)$ show.php?page=$1 [L]

Ziel ist es, URL nach dem Schema von

http://www.domain.de/show/my-page

zu realisieren, die intern

http://www.domain.de/show.php?page=my-page

aufrufen. Soweit eigentlich nichts kompliziertes, schon hunderte mal gemacht und eigentlich immer funktioniert.

Nun habe ich aber auf einem Server den Fall, dass bei dieser Rule die folgende  REQUEST_URI entsteht:

http://www.domain.de/show.php/mypage

So werden natürlich keine GET-Parameter übertragen.

Rausgefunden habe ich schon, dass es an der Überschneidung der Namen liegt: "show/..." und "show.php". Ändere ich nämlich den Namen des Scriptes und nehme folgende Rule, dann funktioniert es.

RewriteRule ^show\/(.+)$ page.php?page=$1 [L]

Aber warum funktioniert die erste Rule auf einigen Servern und auf anderen nicht?

bearbeitet am 26.01.2012

Antworten


Diese Antwort als GUT bewerten 0 Diese Antwort als SCHLECHT bewerten

Ich hatte mal ein ähnliches Problem, wo auf einem Apache-Webserver mod_speling aktiv war. Eventuell ist das bei Dir ja auch der Fall.

http://httpd.apache.org/docs/2.1/mod/mod_speling.html

Keine Ahnung wie jemand auf die Idee kommt, daß das sinnvoll sein könnte.

Verstehe den Sinn dieses Moduls auch nicht, das macht ja alle anderen Status-Codes obsolet und erschwert einfach nur das debugging ...

martin am 26.01.2012

Werde es testen, Danke!

jkahn am 26.01.2012

Deine Antwort

Registrierter User Bereits registriert? Bitte logge dich vor dem Antworten ein.

Deine Daten