_david: mod_rewrite / URL Rewriting

Beitrag lesen

Hallo Kungschu,

Ja, es handelt sich um eine .htaccess-File.
Ich habe es nun wie folgt versucht:

RewriteEngine on
RewriteRule ^blog/artikel/([a-zA-Z0-9-]+)$ /blog/artikel.php?url=$1 [L]


> Not found 404 (Bei Eingabe von: http://localhost:8888/blog/artikel/test)  
>   
> Füge ich noch eine RewriteBase  [...].  
> Es müsste ja aber auch ohne gehen.  
  
Ich komme jetzt etwas ins Schwimmen: Ja, es geht auch ohne RewriteBase, wenn der Pfad in der URL dem Pfad in Deinem lokalen Dateisystem entspricht. Das tut er "blog/" und "blog/". Ich \*glaube\*, dass Du auch im zweiten Teil den führenden Slash weglassen must, also:  
~~~apache
RewriteEngine on  
RewriteRule ^blog/artikel/([a-zA-Z0-9\-]+)$ blog/artikel.php?url=$1 [L]

^^^^
Probiers einfach aus ;)

Du könntest aber die .htaccess auch einfach ins Verzeichnis "blog" verschieben, da die Rewrite-rules nur dieses betreffen, und dann schreiben:

RewriteEngine on  
RewriteRule ^artikel/([a-zA-Z0-9\-]+)$ artikel.php?url=$1 [L]

Wie Du sicher weist, wird die .htaccess bei jedem Request ausgewertet. Auf diese Weise sparst Du etwas Rechenzeit, wenn nicht aufs Blog zugegriffen wird.

Gruß, David