Seite 1 von 1

htaccess viele Rewriterules - zu groß?

Verfasst: 14.01.2009, 11:41
von silent321
Hallo,

ich habe gerade ein wenig an meiner htaccess gebalstelt und habe das Gefühlt, dass diese verdammt groß ist.

Sie funktioniert einwandfrei, jedoch gibt es villeicht möglichkeiten sie zu kürzen.

Zieht eine solche htaccess viel Performance?
Habt ihr verbesserungsvorschläge?

Bin leider kein Experte in sachen Mod_rewrite.

Code: Alles auswählen

Options +FollowSymLinks
RewriteEngine On



#example.com wird zu www.example.com

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]



#.html?e wird zu /

RewriteCond %{QUERY_STRING} ^&?e$ 
RewriteRule ^(.*)\.html$ /$1/? [L,R=301]



#.html wird zu /

RewriteRule ^(.*).html$ /$1/ [R=301]



#Bilder nur auf Google oder example.com erlaubt

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com(/.*)?$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?google\.de(/.*)?$ [NC]
RewriteRule \.(gif|jpg|png)$ - [F]



# registrieren bzw index.php ausgeblendet

RewriteRule ^registrieren/(.*)$ index.php?r%{QUERY_STRING} [L]
RewriteRule ^(.*)index.php$ /$1 [L,R=301]



#Forum

RewriteRule ^forum/([0-9]+)/[\w-_]*/([0-9]+)(.*)$ board.php?boardid=$1&seite=$2&%{QUERY_STRING} [L]
RewriteRule ^forum/([0-9]+)/[\w-_]*(.*)$ board.php?boardid=$1&%{QUERY_STRING} [L]
RewriteRule ^forum/(.*)$ main.php?%{QUERY_STRING} [L]


#letzer Beitrag

RewriteRule ^beitrag-[\w-_]*-([0-9]+)(.*)$ thread.php?threadid=$1&extra=last&%{QUERY_STRING} [L]



#Thema

RewriteRule ^thema/([0-9]+)/[\w-_]*/([0-9]+)(.*)$ thread.php?threadid=$1&seite=$2&%{QUERY_STRING} [L]
RewriteRule ^thema/([0-9]+)/[^/]*(.*)$ thread.php?threadid=$1&%{QUERY_STRING} [L]



#Tools

RewriteRule ^tools/gruppen/neu(.*)$ umgebung.php?was=gruppen&a=n&%{QUERY_STRING} [L]
RewriteRule ^tools/gruppen/show/([0-9]+)/([0-9]+)/(.*)$ umgebung.php?was=gruppen&s=$1&gibseite=$2&%{QUERY_STRING} [L]
RewriteRule ^tools/gruppen/show/([0-9]+)(.*)$ umgebung.php?was=gruppen&s=$1&%{QUERY_STRING} [L]
RewriteRule ^tools/gruppen/([0-9]+)/(.*)$ umgebung.php?was=gruppen&seite=$1&%{QUERY_STRING} [L]
RewriteRule ^tools/gruppen(.*)$ umgebung.php?was=gruppen&%{QUERY_STRING} [L]
RewriteRule ^tools/liste(.*)$ umgebung.php?was=mit&%{QUERY_STRING} [L]
RewriteRule ^tools/karte(.*)$ umgebung.php?was=all&%{QUERY_STRING} [L]
RewriteRule ^tools/packliste/(.*)$ umgebung_tools.php?was=pack&%{QUERY_STRING} [L]
RewriteRule ^tools(.*)$ umgebung.php?%{QUERY_STRING} [L]
RewriteRule ^drucken/merkliste(.*)$ druck_merkliste.php?%{QUERY_STRING} [L]



#Mitglieder

RewriteRule ^mitglieder/(.*)/([0-9]+)/$ member.php?om=$1&seite=$2&%{QUERY_STRING} [L]
RewriteRule ^mitglieder/(.*)/$ member.php?om=$1&%{QUERY_STRING} [L]
RewriteRule ^member-([0-9]+)(.*)$ member.php?id=$1&was=profil&%{QUERY_STRING} [L]



#Nachrichten

RewriteRule ^nachrichten/neu(.*)$ pmgo.php?was=new&%{QUERY_STRING} [L]
RewriteRule ^nachrichten/loeschen/([0-9]+)(.*)$ pmgo.php?was=del&id=$1&%{QUERY_STRING} [L]
RewriteRule ^nachrichten/pmsloeschen(.*)$ pmgo.php?was=pmedit&%{QUERY_STRING} [L]
RewriteRule ^nachrichten/antworten/([0-9]+)(.*)$ pmgo.php?was=new&ans=$1&%{QUERY_STRING} [L]
RewriteRule ^nachrichten/senden/(.*)$ pmgo.php?was=new&wert=$1&%{QUERY_STRING} [L]
RewriteRule ^nachrichten/lesen/([0-9]+)/([0-9]+)(.*)$ pmgo.php?was=read&id=$1&ordnerid=$2&%{QUERY_STRING} [L]
RewriteRule ^nachrichten/([0-9]+)/$ pm.php?ordnerid=$1&%{QUERY_STRING} [L]



#Profil

RewriteRule ^email-aendern(.*)$ profil.php?was=email&%{QUERY_STRING} [L]
RewriteRule ^passwort-aendern(.*)$ profil.php?was=pw&%{QUERY_STRING} [L]
RewriteRule ^heimatort-lokalisieren(.*)$ profil.php?was=hll [L]
RewriteRule ^gastort-lokalisieren(.*)$ profil.php?was=gll [L]
RewriteRule ^signatur-erstellen(.*)$ profil.php?was=sig&%{QUERY_STRING} [L]
RewriteRule ^profil/$ profil.php?%{QUERY_STRING} [L]



#Suche

RewriteRule ^suche/suchergebnis/([0-9]+)/(.*)$ search.php?was=suche&seite=$1&%{QUERY_STRING} [L]
RewriteRule ^suche/suchergebnis(.*)$ search.php?was=suche&%{QUERY_STRING} [L]
RewriteRule ^suche(.*)$ search.php?%{QUERY_STRING} [L]



#Sonstiges

RewriteRule ^partner/(.*)$ partner.php?%{QUERY_STRING} [L]
RewriteRule ^impressum/(.*)$ impressum.php?%{QUERY_STRING} [L]
RewriteRule ^kontakt/(.*)$ kontakt.php?%{QUERY_STRING} [L]
RewriteRule ^datenschutz/(.*)$ datenschutz.php?%{QUERY_STRING} [L]
RewriteRule ^agb/(.*)$ agb.php?%{QUERY_STRING} [L]
RewriteRule ^mediadaten/(.*)$ media.php?%{QUERY_STRING} [L]
Viele Grüße

Verfasst:
von

Verfasst: 14.01.2009, 11:48
von Cajuul
Ich hab bei nem Projekt eine, die ist grob geschätzt 7x größer und ich merk keine Einbussen.