.htaccess Datei

Error Document

Um das 404 Dokument zu spezifizieren ist folgende Direktive anzugeben:

ErrorDocument 404 /notfound.htm

Redirect

Ein Redirect (z.B. ein 301 - Permanent Redirect) kann in der .htaccess Date sehr einfach erstellt werden:

RewriteRule ^(.*)$	http://www.domain.tld/$1 [L,R=301]

URL Rewrite mit Apache mod_rewrite

Hier ein Beispiel, um sprechende URL's zu generieren. Das Beispiel macht folgendes:

  • www.domain.tld/folder/subfolder wird zu index.php?p=folder/subfolder umgeleitet
  • Die Verzeichnisse img, js, und css werden ausgeschlossen
  • Die Datei robots.txt wird ausgeschlossen
## You should disable Indexes and MultiViews either here or in the
## global config. Symlinks maybe needed for URL rewriting.
Options -Indexes -MultiViews +FollowSymLinks

## make sure nobody gets the htaccess files
<Files ~ "^[\._]ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME}         !css
RewriteCond %{REQUEST_FILENAME}         !img
RewriteCond %{REQUEST_FILENAME}         !js
RewriteCond %{REQUEST_FILENAME}         !robots\.txt

RewriteRule (.*)                        index.php?p=$1  [QSA,L]

Redirect UND Rewrite

Oft will man alle Subdomains auf www.domain.tld umleiten (z.B. test.domain.tld oder nur domain.tld) und gleichzeitig in der Hauptdomain dann ein URL Rewrite machen. Dies muss mit Conditions gemacht werden. Die Conditions sind immer für die nächste RewriteRule zuständig.

# Always redirect to www.domain.tld if not on www
RewriteCond %{HTTP_HOST} 	!^www\.domain\.tld$ [NC]
RewriteRule ^(.*)$		http://www.domain.tld/$1 [L,R=301]

# Make the url rewriting if we are on www
RewriteCond %{HTTP_HOST} 	^www\.domain\.tld$ [NC]
RewriteRule (.*)		index.php?p=$1  [QSA,L]

Erkennen und Redirecten von Mobilen Geräten für eine Mobile Site

Dies kann man auf verschiedene Arten lösen, z.B. mit einem Squid oder eben mit einer .htaccess Datei. Anfoderung ist, dass der User Agent auf dem Apache erkennt wird (z.B. dass wen man von einem iPhone aus auf eine Seite kommt) und dann auf eine entsprechende Seite umgeleitet wird.

Folgende Seite zeigt das Mobile Device an und bietet auch ein entsprechendes Script an, welches man in der .htaccess Datei einfügen kann: http://detectmobilebrowser.com/ (dafür mit einem PC auf die Seite gehen).

Cache einstellen

Mit dem Apache Modul headers kann man den Browser Cache für bestimmte Objekte (Dateiendungen) bestimmen. Folgender Code in der .htaccess speichert alle *.js und *.css Dateien für 24 Stunden in den Cache des Browsers:

<FilesMatch ".(js|css)$">
	Header set Cache-Control "max-age=86400"
</FilesMatch>
unix/htaccess.txt · Zuletzt geändert: 27.12.2013 19:46 (Externe Bearbeitung)
Nach oben
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0