.htaccess: Różnice pomiędzy wersjami

Linia 28: Linia 28:
 
Istnieje możliwość zabezpieczenia całego katalogu na stronie hasłem (lub nawet całej strony WWW). W poniższych przykładach argument login należy zastąpić loginem wybranego użytkownika, a argument user loginem konta MyDevil.
 
Istnieje możliwość zabezpieczenia całego katalogu na stronie hasłem (lub nawet całej strony WWW). W poniższych przykładach argument login należy zastąpić loginem wybranego użytkownika, a argument user loginem konta MyDevil.
  
Plik z hasłami należy utworzyć dodając pierwszego użytkownika poleceniem <code>htpasswd -c ~/hasla.passwd login</code>.Folder, który ma być chroniony hasłem powinien zawierać plik .htaccess o następującej treści:
+
Plik z hasłami należy utworzyć dodając pierwszego użytkownika poleceniem <code>htpasswd -c /usr/home/''login''/hasla.passwd login</code>.Folder, który ma być chroniony hasłem powinien zawierać plik .htaccess o następującej treści:
 
  AuthType Basic
 
  AuthType Basic
 
  AuthUserFile "/home/user/hasla.passwd"
 
  AuthUserFile "/home/user/hasla.passwd"
Linia 34: Linia 34:
 
  AuthName "Zabezpieczony katalog"
 
  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 <code>htpasswd -D ~/hasla.passwd login</code>
+
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 <code>htpasswd -D /usr/home/''login''/hasla.passwd login</code>
  
 
====Domyślne kodowanie plików tekstowych ====
 
====Domyślne kodowanie plików tekstowych ====

Wersja z 19:41, 6 mar 2015

Szablon:Stub 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.

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]

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 login należy zastąpić loginem wybranego użytkownika, a argument user loginem konta MyDevil.

Plik z hasłami należy utworzyć dodając pierwszego użytkownika poleceniem htpasswd -c /usr/home/login/hasla.passwd login.Folder, który ma być chroniony hasłem powinien zawierać plik .htaccess o następującej treści:

AuthType Basic
AuthUserFile "/home/user/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 login

Domyślne kodowanie plików tekstowych

W przypadku gdy 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