Mod-Rewrite, Clean Urls, Textpattern
Ich bin jetzt schon seit geraumer Zeit mit einer Textpattern-Installation bei Host Europe. Nachdem ich diese jetzt neu aufgesetzt habe, hatte ich die "unsauberen URLs" satt und wollte Clean URLs verwenden.
In der sogenannten Textpattern-Diagnose (Info, ob mit dem System alles in Ordnung ist, ob Fehler aufgetreten sind usw.) ist der Test bzgl. der Clean Urls fehlgeschlagen (was auch immer die Server Konfiguration dagegen hat, es funktioniert auch tatsächlich nicht :D) Mein Hosting-Paket (Web Pack L, PHP5) lässt Mod-Rewrite zu und es funktioniert grundsätzlich auch (getestet mit einer "www non-www"-Expression). Da Clean-Urls nun standardmäßig nicht funktionieren, will ich per Mod-Rewrite nachhelfen. Ich habe nun versucht, mit folgende Expression aus "domain.de/?s=kategorie" "domain.de/katgeorie" zu machen: RewriteRule ^(kategorie-1)/$ /?s=kategorie-1 Leider funktioniert das so nicht. Weiß jemand Rat? Die standard Textpattern-htacess sieht wie folgt aus: Code:
#DirectoryIndex index.php index.html |
Die Regel beschreibt auch nur den genau umgekehrten Weg: „/kategorie-1/“ würde zu „/?s=kategorie-1“ umgeschrieben werden.
|
Zitat:
Wie sieht deine ganze .htaccess aus? Hast du auch RewriteEngine On drin? |
@Fox: Ja, RewriteEngine On ist in der htaccess enthalten. Den Ausschnitt der momentanen htaccess kannst du meinem ersten Beitrag entehmen.
@Gumbo: Ich müsste es folglich nur umdrehen? Wenn ich es (hoffentlich) so gemacht habe, wie du meintest, bekomme einen 403-Fehler... Bei meiner ursprünglichen Expression übrigens auch... |
Code:
<IfModule mod_rewrite.c> |
Leider nein -> Zugriff verweigert (403)
|
Die Funktionsweise von mod_rewrite wird gerne missverstanden. Denn es wird häufig angenommen, dass mod_rewrite sowohl eingehenden als auch ausgehenden Datenverkehr verarbeiten kann. Es können also nicht nur an den Server gerichtete Anfragen verarbeitet, sondern insbesondere auch die darauf folgenden Antworten verändert werden. So etwa in HTML vorkommende URLs den Regeln entsprechend umzuschreiben, dass also beispielsweise bei folgender gegebener Regel:
Code:
RewriteRule ^([^/]+)/([^/]+)$ /index?arg1=$1&arg2=$2 HTML-Code:
<a href="/index?arg1=foo&arg2=bar"> HTML-Code:
<a href="/foo/bar"> |
Falls es falsch rübergekommen sein sollte: Ich bin mir durchaus bewusst, dass ModRewrite lediglich eine Art Maske darstellt. Das ist auch ok, nichts Anderes will ich damit erreichen. Man kann sich eine URL leichter merken, überflüssige Zeichen fallen weg, wenn du so willst, und es sieht schlichtweg schöner aus.
|
Zitat:
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:39 Uhr. |
Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
© Dirk H. 2003 - 2023