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]