htaccess na webhostingu

  htaccess, Webhosting

.htaccess (na początku nazwy musi znajdować się kropka) jest plikiem, który po umieszczeniu na webhostingu umożliwia wprowadzanie zmian w konfiguracji i działaniu Twojej strony.

Umieszczenie pliku w folderze www Twojego webhostingu spowoduje, że zawarte w nim reguły będą miały zastosowanie do całej strony. Plik możesz umieścić także w podkatalogu, wtedy reguły będą odnosiły się tylko do tego katalogu, włącznie z dostępnymi w nim podkatalogami i plikami.

.htaccess umożliwia:

W konfiguracji serwera WWW dozwolone są następujące kategorie poleceń dla  htaccess:

  • AuthConfig
  • FileInfo
  • Limit
  • Indexes

W plikach .htaccess na webhostingu nie mogą być użyte:

  • php_flag
  • php_value
  • ServerSignature
  • SetHandler
  • XBitHack
  • AddHandler

W przypadku polecenia Options dozwolona jest jedynie opcja Indexes, korzystanie z pozostałych opcji nie jest możliwe.

Uwaga! Użycie jakiegokolwiek niedozwolonego polecenia czy parametru w poleceniu Options będzie skutkować niedostępnością całej strony, która przejawi się przez wyświetlenie błędu 500 – Internal Server Error.

Nasz domyślny /www/.htaccess

RewriteEngine On

# cale domeny (aliasy)
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]

# subdomeny (z lub bez www na początku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]

# aliasy – poprawne przekierowanie przy brakującym /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]

# subdomeny - poprawne przekierowanie przy brakującym /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]