[TYPO3-german] URL/Pfad umschreiben

Michael typo3ml at schams.net
Sun Oct 7 15:07:50 CEST 2007


Kay Strobach schrieb:

> Die reihenfolge der anweisungen ist interesant. deswegen sollten die
> speziellen vor den weniger speziellen stehen.

hmm... guter Hinweis.

> so sollte es gehen..
> 
> RewriteRule ^keyword/(.*) index.php?id=8&query=$1
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteCond %{REQUEST_FILENAME} !-d
> RewriteCond %{REQUEST_FILENAME} !-l

Leider hat die Änderung keine Auswirkungen. Das Ergebnise ist das selbe:
"Error! Reason: File "foo" was not found!"

Mein .htaccess sieht wie folgt aus (alle Leer- und Kommentarzeilen 
entfernt):

--- cut here ---
RewriteEngine On
RewriteBase /
RewriteRule 
^(typo3|t3lib|tslib|fileadmin|typo3conf|typo3temp|uploads|showpic\.php|favicon\.ico)/ 
- [L]
RewriteRule ^typo3$ typo3/index_re.php [L]
RewriteRule ^keyword/(.*) index.php?id=8&query=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} !^/keyword.*$
RewriteRule .* index.php [L]
--- cut here ---

Es sieht so aus, als wenn der index.php weiterhin der ursprüngliche Pfad 
(also "/keyword/foo") übergeben wird; bzw. als wenn die index.php prüfen 
würde, ob der ursprünglich eingegebene Pfad existiert.

Das die RewriteRule jedoch im Grunde funktioniert, beweist die 
Abänderung in folgende Zeile:

RewriteRule ^keyword/(.*) http://domain.de/index.php?id=8&query=$1 [L]

Dann wird dem Client durch ein "302 - moved temporarily" die neue URL 
mitgeteilt, nämlich: http://domain.de/index.php?id=8&query=foo
...und ein Browser führt einen weiteren Request aus. Allerdings möchte 
ich unbedingt das "Umschreiben" der URL intern gelöst haben.

Sonst noch Ideen/Vorschläge? HILFEEEE :-)

Michael


More information about the TYPO3-german mailing list