phpbar.de logo

Mailinglisten-Archive

[php] Suchmaschinen-Optimierung dynamischer PHP-Seiten

[php] Suchmaschinen-Optimierung dynamischer PHP-Seiten

Jens Giessmann jg at handcode.de
Don Jun 9 10:57:42 CEST 2005


Hi,

On Thu, Jun 09, 2005 at 10:13:45AM +0200, Lutz Zetzsche wrote:
> mod_rewrite ist nur die zweitbeste Lösung.  Außerdem muß man hier
> wissen, was man tut. Ein Programmierfehler in den
> mod_rewrite-Anweisungen führt unweigerlich zu einem
> Serverfehler. Das ist also nichts für jedermann.

Es kommt darauf an wie man die Rewrite Rules aufsetzt.

Ich habe schon des oefteren auf Servern Rewrite-Regelsaetze gesehen
die so lang, kompliziert und unpflegbar waren das man das nicht haben
will (fuer jede Seite ein Regelsatz, etc.).

Ein anderer Ansatz ist es, die Regeln so einfach und klein wie
moeglich zu halten und den Rest, das Mapping der URL zum Content, von
einem PHP Request-Parser erledigen zu lassen. eben in der Art, als
wenn man einen Apache vor ein Zope mit virt. Host-Monster setzt.

Bsp.:

RewriteEngine On
# diese Regeln fangen die stat. Inhalte der Seite ab. Bilder, CSS,...
RewriteRule ^/static/ - [L]
RewriteRule ^/images/ - [L]
RewriteRule ^/css/ - [L]
RewriteRule ^/doc/ - [L]
# Der ganze Rest, also jede andere beliebige URL wird weitergeleitet
RewriteRule ^/(.*) /parser.php

In parser.php kann ich nun auf (fast) alle ENVs zugreifen, als wenn
parser.php das ueber die URL aufgerufene Scripte waere.

$_SERVER["REQUEST_URI"]
$_SERVER["PHP_SELF"]
$_SERVER["QUERY_STRING"]
$_POST
$_GET 

Rewrites muessen also nicht immer kompliziert sein um mit beliebig
komplexen URLs umgehen zu koennen.
Die "Kunst" ist nun noch ein sauberes Mapping zwischen oeffentlichen,
schoenen URLs und den haesslichen ID URLs zu bekommen. 
Jede URL die man nicht zuordnen kann einfach wie ein 404 auf eine
Standard-Seite umleiten.

-- 

Gruss Jens

php::bar PHP Wiki   -   Listenarchive