.htaccess: Różnice pomiędzy wersjami
Linia 14: | Linia 14: | ||
RewriteCond %{REQUEST_URI} !^/test/ | RewriteCond %{REQUEST_URI} !^/test/ | ||
RewriteRule ^(.*)$ /test/$1 [L] | RewriteRule ^(.*)$ /test/$1 [L] | ||
+ | |||
+ | ====Przekierowanie przy błędzie 301==== | ||
+ | |||
+ | Przekierowanie dla jednej strony do ''domena'': | ||
+ | Redirect 301 /strona.php <nowiki>http://</nowiki>''domena''/strona.html | ||
+ | Przekierowanie całej strony do ''domena'': | ||
+ | Redirect 301 / <nowiki>http://</nowiki>''domena''/ | ||
+ | Przekierowanie całej strony do subfolderu ''domena'': | ||
+ | Redirect 301 / <nowiki>http://</nowiki>''domena''/subfolder/ | ||
+ | Przekierowanie subfolderu strony do ''domena'': | ||
+ | Redirect 301 /subfolder <nowiki>http://</nowiki>''domena''/ | ||
+ | Przekierowanie żądań do plików html do plików z tą samą nazwą z rozszerzeniem php: | ||
+ | RedirectMatch 301 (.*)\.html$ <nowiki>http://</nowiki>''domena''$1.php | ||
+ | |||
====Zabezpieczenie przed hotlinkowaniem obrazków==== | ====Zabezpieczenie przed hotlinkowaniem obrazków==== | ||
Linia 19: | Linia 33: | ||
RewriteEngine on | RewriteEngine on | ||
RewriteCond %{HTTP_REFERER} !^$ | RewriteCond %{HTTP_REFERER} !^$ | ||
− | <nowiki>RewriteCond %{HTTP_REFERER} !^http://''domena''$ [NC] | + | <nowiki>RewriteCond %{HTTP_REFERER} !^http://</nowiki>''domena''$ [NC] |
− | <nowiki>RewriteCond %{HTTP_REFERER} !^http://.*\.''domena''$ [NC] | + | <nowiki>RewriteCond %{HTTP_REFERER} !^http://</nowiki>.*\.''domena''$ [NC] |
− | <nowiki>RewriteCond %{HTTP_REFERER} !^http://''domena''/.*$ [NC] | + | <nowiki>RewriteCond %{HTTP_REFERER} !^http://</nowiki>''domena''/.*$ [NC] |
− | <nowiki>RewriteCond %{HTTP_REFERER} !^http://.*\.''domena''/.*$ [NC] | + | <nowiki>RewriteCond %{HTTP_REFERER} !^http://</nowiki>.*\.''domena''/.*$ [NC] |
RewriteRule .*\.(jpg|jpeg|gif|bmp)$ - [F,NC] | RewriteRule .*\.(jpg|jpeg|gif|bmp)$ - [F,NC] | ||
Wersja z 17:48, 14 kwi 2015
Serwer WWW obsługuje httpd nginx z autorskim modułem obsługującym "standard" htaccess pozwalający tworzyć własne zestawienia reguł rewrite.
Wszystkie ustawienia można edytować samodzielnie tworząc plik .htaccess w folderze public_html/
(lub ewentualnie podfolderach) danej domeny.
Spis treści
Przykłady
Poniżej znajduje się kilka przykładów zastosowania tego pliku. Część z nich jest autorstwa użytkowników MyDevil.
Przekierowanie subdomeny na podkatalog
Przekierowanie subdomeny test.domena na domena/test bez tworzenia vhosta.
RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?test\.domena$ [NC] RewriteCond %{REQUEST_URI} !^/test/ RewriteRule ^(.*)$ /test/$1 [L]
Przekierowanie przy błędzie 301
Przekierowanie dla jednej strony do domena:
Redirect 301 /strona.php http://domena/strona.html
Przekierowanie całej strony do domena:
Redirect 301 / http://domena/
Przekierowanie całej strony do subfolderu domena:
Redirect 301 / http://domena/subfolder/
Przekierowanie subfolderu strony do domena:
Redirect 301 /subfolder http://domena/
Przekierowanie żądań do plików html do plików z tą samą nazwą z rozszerzeniem php:
RedirectMatch 301 (.*)\.html$ http://domena$1.php
Zabezpieczenie przed hotlinkowaniem obrazków
Hotlinkowanie to umieszczanie na stronie obrazków, które użytkownik pobiera z zewnętrznego serwera. Przykładowa blokada wygląda następująco.
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://domena$ [NC] RewriteCond %{HTTP_REFERER} !^http://.*\.domena$ [NC] RewriteCond %{HTTP_REFERER} !^http://domena/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://.*\.domena/.*$ [NC] RewriteRule .*\.(jpg|jpeg|gif|bmp)$ - [F,NC]
Zabezpieczanie katalogu hasłem
Istnieje możliwość zabezpieczenia całego katalogu na stronie hasłem (lub nawet całej strony WWW). W poniższych przykładach argument username należy zastąpić loginem wybranego użytkownika, a argument login loginem konta MyDevil.
Plik z hasłami należy utworzyć dodając pierwszego użytkownika poleceniem htpasswd -c /usr/home/login/hasla.passwd username
. Folder, który ma być chroniony hasłem powinien zawierać plik .htaccess o następującej treści:
AuthType Basic AuthUserFile "/usr/home/login/hasla.passwd" require valid-user AuthName "Zabezpieczony katalog"
AuthUserFile wskazuje na plik, który utworzono wcześniej. Jest możliwość używania różnych plików z loginami i hasłami do różnych folderów. Usuwanie użytkownika odbywa się za pomocą polecenia htpasswd -D /usr/home/login/hasla.passwd username
.
Domyślne kodowanie plików tekstowych
W przypadku udostępniania plików .txt w których nie sposób określić kodowania znacznikiem meta bądź innych plików w których nie ustawiono kodowania można wymusić prawidłowe wyświetlanie przez przeglądarki za pomocą dyrektywy AddDefaultCharset
, np.
AddDefaultCharset utf-8