.htaccess

Dodatečný konfigurační soubor webového serveru Apache. Název souboru začíná tečkou, aby byl v Unixových systémech považován za skrytý.

Přesměrování adresy webu bez "www" na adresu s "www"

RewriteEngine On
RewriteCond %{HTTP_HOST} ^lublog.cz [nc]
RewriteRule (.*) http://www.lublog.cz/$1 [R=301,L]

Funguje i obráceně, tedy z adresy s „www“ na adresu bez „www“

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.lublog.org [nc]
RewriteRule (.*) http://lublog.cz/$1 [R=301,L]

Přesměrování staré stránky na novou

RewriteEngine on
RewriteRule puvodni\.php /nova.html [R=301] 

nebo

RewriteEngine On
RewriteRule puvodni.html /nova.html [R=301]

Návštěvník bude přesměrován a uvidí novou adresu v adresním řádku svého prohlížeče. 301 znamená trvalé přesměrování.

Podstrkávání

Návštěvník uvidí v adresním řádku pořád původní adresu, přitom se bude nacházet jinde. Jediný rozdíl oproti zápisu přesměrování je ten, že neobsahuje [R=301] viz níže „Parametry mod_rewrite“

RewriteEngine on
RewriteRule puvodni\.html /podstrcena.html

Parametry mod_rewrite

Za RewriteRule (jak je vidět na přesměrování staré stránky na novou) se mohou přidat další parametry:

[L] - Poslední pravidlo, zabrání zacyklení např. v případě, že se dvě stránky budou pomocí .htaccess přesměrovávat na sebe navzájem.

[QSA] - „query string append“ Do výsledné adresy přidej i řetězec za otazníkem.

[R] - přesměrování s kódem 302 (dočasné přesměrování) bude se přesměrovávat (s kódem 302), nikoli podstrkávat

[R=301] - přesměrování s kódem 301 (trvalé přesměrování)

[NC] - nerozlišuj velikost písmen - na těch nezáleží.

Nastavení chybových stránek

Příklady:

ErrorDocument 404 error.php
ErrorDocument 403 "http://www.lublog.cz/403.html"
ErrorDocument 404 "http://www.lublog.cz/404.html"

Na názvu souboru chybové stránky nezáleží. Pokud se návštěvník webu (např. špatně napsaným odkazem) dostane na neexistující stránku, zobrazí se mu chyba 404

Blokování přístupu IP adresy

Přístup zablokován konkrétní IP adrese:

deny from 123.123.12.12

Povolení přístupu konkrétní IP adrese

allow from 123.123.12.12

Celý adresář, kde je .htacces, včetně jeho podadresářů, je zablokovaný:

deny from all

Povolení výpisu adresáře

Options +Indexes

Zakázání výpisu adresáře

Options -Indexes

Priorita otevírání výchozí stránky

V tomto případě se bude jako první otevírat index.html (v případě zadání adresy bez souboru).

DirectoryIndex at_domains_index.html index.html index.htm index.php

Zaheslování stránky

Zaheslování pomocí .htaccess je nejbezpečnější způsob, jak ochránit stránku, která nemá být přístupná všem.

Ve složce, kterou chceme pomocí .htaccess zaheslovat, je potřeba do .htaccess napsat:

AuthUserFile /data/www/www_lublog.cz/název_zaheslované_složky/.htpasswd
AuthName "Restricted Area"
AuthType Basic
require valid-user

Následně je potřeba vytvořit soubor .htpasswd Do něho se napíše libovolný login a zašifrované heslo:

login:zasifrovane_heslo

Zaheslovat můžeme celý server:

AuthUserFile /data/www/www_lublog.cz/.htpasswd
AuthName "Restricted Area"
AuthType Basic
require valid-user

Možnosti přesměrování

Přesměrování v PHP

Dá se použít na webu napsaném v jazyce PHP, což předpokládá, že přípona souborů webu není „klasické“ .html

Funkce se jmenuje Header() s parametrem Location. Funkce musí být na serveru povolena.

Zápis v trvale přesměrovávané stránce vypadá takto:

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.lublog");
header("Connection: close");
?>

Přesměrování meta tagem

Do hlavičky jakékoli webové stránky se dá přesměrování napsat, nevýhodou je probliknutí staré stránky.

Zápis s absolutní adresou:

<meta http-equiv="refresh" content="8;url=http://www.example.cz/soubor.html">

Adresa může být i relativní:

<meta http-equiv="refresh" content="8;url=soubor.html">

Číslo za content=„1 je počet sekund, za jak dlouho k přesměrování dojde.

 
web/htaccess.txt · Poslední úprava: 2010/07/21 01:27 (upraveno mimo Lublog.cz)
 

(c)Lublog.cz | autor | kontakt

Recent changes RSS feed Powered by PHP Driven by DokuWiki