KAVALEK.NET 
-Blog
Linux Web development C/C++ Python LaTeX Rallye Ostatní
-Projekty
PyGaM PHP WIS Class PHP Atom Class
-Webdesign
Nabídka Reference
-Ostatní
Aktuality Odkazy Informace
-Osobní
Kontakt CV
-Intranet
Mail server Print server Security camera

KUBUNTU
XHTML Valid
Smarty
jQuery
View Tomáš Kavalek's profile on LinkedIn

Web development: Přepisujeme web pomocí mod_rewrite

Zobrazit obsah
Zobrazit komentáře | Zobrazit pouze komentáře

Stručně jasně, jen pár regulárních výrazů, příznaků pravidel, příznaků podmínek, serverových proměnných a kódů přesměrovávacích hlaviček. Samozřejmě i nějaká ta ukázka. Článek v budoucnu rozšířím.

Syntaxe regulárních výrazů

^             začátek řetězce
$             konec řetězce
.             jeden libovolný znak
(a|b)         buď a NEBO b
(...)         skupina znaků
[abc]         znak z abc (a NEBO b NEBO c)
[^abc]        jakýkoliv znak mimo abc
a?            žádný nebo jeden výskyt znaku a
a*            žádný nebo libovolný počet znaků a (iterace)
a+            jeden nebo libovolný počet znaků a (pozitivní iterace)
a{3}          přesně tři znaky a
a{3,}         tři a více znaků a
a{3,6}        tři až šest znaků a
!(vyraz)      negace výrazu

Kódy přesměrování - hlavičky

301           navždy odstraněno
302           dočasně odstraněno
403           přístup nepovolen
404           nenalezeno
410           neexistuje již dlouhou dobu

Příznaky pro přepisovací pravidla - RewriteRule

R[=kod]       přesměrování na novou adresu (možnost použití hlavičky - výše)
F             přístup nepovolen
G             neexistuje již dlouhou dobu
P             proxy
L             poslední pravidlo - další už nebudou zpracována
N             další pravidlo (restart pravidel)
C             ?
T=mime-type   nastavi mime-typ dokumentu
NS            preskoci vnitrni sub-pozadavek
NC            pravidlo nebude case-sensitive
QSA           povoli retezec dotazu (napr. ?page=...)
NE            ?
PT            ?
S=x           preskoci nasledujicich x pravidel
E=var:value   nastavi promennou prostredi var na hodnotu value

Příznaky pro přepisovací podmínky - RewriteCond

NC            podmínka nebude case-sensitive
OR            logické OR u podmínky - pravidlo bude aplikováno na více podmínek

Proměnné a příkazy

HTTP hlavičky

HTTP_USER_AGENT
HTTP_REFERER
HTTP_COOKIE
HTTP_FORWARDED
HTTP_HOST
HTTP_PROXY_CONNECTION
HTTP_ACCEPT

Požadavky (requesty)

REMOTE_ADDR
REMOTE_HOST
REMOTE_USER
REMOTE_IDENT
REQUEST_METHOD
SCRIPT_FILENAME
PATH_INFO
QUERY_STRING
AUTH_TYPE

Serverové hlavičky

DOCUMENT_ROOT
SERVER_ADMIN
SERVER_NAME
SERVER_ADDR
SERVER_PORT
SERVER_PROTOCOL
SERVER_SOFTWARE

Práce s časem

TIME_YEAR
TIME_MON
TIME_DAY
TIME_HOUR
TIME_MIN
TIME_SEC
TIME_WDAY
TIME

Speciální

API_VERSION
THE_REQUEST
REQUEST_URI
REQUEST_FILENAME
IS_SUBREQ

Řídící direktivy

RewriteEngine
RewriteOptions
RewriteLog
RewriteLogLevel
RewriteLock
RewriteMap
RewriteBase
RewriteCond
RewriteRule

Ukázka

#
RewriteEngine on
#
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
#
RewriteRule ^blog/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$ index.php?modul=blog&category=$1&id=$2 [NC,L,QSA]

Článek postupně aktualizuji...


16.11.2006 12:05:17 - 991x
Hodnocení (145)

Rating - 55% 55%

DOBRÉ | ŠPATNÉ

Komentáře k tématu 'Přepisujeme web pomocí...' (0 komentářů)

Vložit komentář | Zobrazit pouze komentáře | Nahoru
Ještě nebyl vložen žádný komentář. Pro vložení prvního komentáře klikněte zde.

Vyhledávání

 
Google

Reklama

Knihy
© 2004 - 2008 Tomáš Kavalek - Obsah webu, zdrojové kódy a projekty lze používat a dále šířit dle GNU GPL. V diskuzích mně můžete tykat.