ÿþA p a c h e p r z e w o d n i k e n c y k l o p e d y c z n y
A p a c h e
p r z e w o d n i k
e n c y k l o p e d y c z n y
A u t o r z y : B e n L a u r i e , P e t e r L a u r i e
T ³ u m a c z e n i e : T o m a s z M . S a d o w s k i
I S B N : 8 3 - 7 1 9 7 - 1 8 1 - 8
F o r m a t : B 5 , 4 0 8 s t r o n
Z a w i e r a C D - R O M
P r z e s y ³ k a g r a t i s ! O d b i o r c a p o k r y w a j e d y n i e k o s z t y p o b r a n i a ( 2 , 7 0 z ³ )
w p r z y p a d k u p r z e s y ³ k i z a z a l i c z e n i e m p o c z t o w y m
W y d a w n i c t w o H e l i o n
u l . C h o p i n a 6 , 4 4 - 1 0 0 G l i w i c e , P O L A N D
t e l e f o n : ( 3 2 ) 2 3 0 - 9 8 - 6 3 , 2 3 1 - 2 2 - 1 9
f a x : ( 3 2 ) 2 3 0 - 9 8 - 6 3 w . 1 0
m a i l : h e l i o n @ h e l i o n . c o m . p l
K s i ¹ ¿ k a t a s t a n o w i k o m p e n d i u m w i e d z y o n a j p o p u l a r n i e j s z y m s e r w e r z e W W W
n a Sw i e c i e . P r z e d s t a w i o n e w n i e j p r z y k ³ a d y u m o ¿ l i w i ¹ Sw i e ¿ o u p i e c z o n y m
a d m i n i s t r a t o r o m s e r w e r ó w W W W b ³ y s k a w i c z n e n a b r a n i e w p r a w y w z a r z ¹ d z a n i u
s e r w e r e m . D o Sw i a d c z e n i a d m i n i s t r a t o r z y i p r o g r a m i Sc i t w o r z ¹ c y s k r y p t y C G I
z n a j d ¹ t u w i e l e c e n n y c h , s z c z e g ó ³ o w y c h i n f o r m a c j i n a t u r y e n c y k l o p e d y c z n e j ,
z a S d l a p r o g r a m i s t ó w s y s t e m o w y c h p r z e z n a c z o n e s ¹ r o z d z i a ³ y o i n t e r f e j s i e
p r o g r a m o w y m i t w o r z e n i u m o d u ³ ó w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Z o b a c z p r z y k ³ a d o w y r o z d z i a ³
S p i s t r e Sc i
J e ¿ e l i z n a s z t ê k s i ¹ ¿ k ê o c e ñ j ¹
A k t u a l n y c e n n i k k s i ¹ ¿ e k e - m a i l e m
K s i ¹ ¿ k i i " 3 D " O n l i n e
I n f o r m a c j e o n o w o Sc i a c h e - m a i l e m
Z a m ó w n a j n o w s z y k a t a l o g
© H e l i o n 2 0 0 0
8
P r z e a d r e s o w y w a n i e
M a Bo c o w |y c i u z n a j d u j e s i n a w Ba [c i w y m m i e j s c u w e w Ba [c i w y m c z a s i e . T e n s m u t n y
w n i o s e k d o t y c z y n i e t y l k o s e r w e r ó w W W W , a l e i w s z e l k i c h i n n y c h r z e c z y , k t ó r e n a s o t a -
c z a j . A b y p o r a d z i s o b i e z t y m p r o b l e m e m , a d m i n i s t r a t o r m a d o d y s p o z y c j i d y r e k t y w y
i , p o z w a l a j c e k i e r o w a n a d c h o d z c e |d a n i a n a i n n e t o r y , b d z t o
w o b r b i e s y s t e m u p l i k ó w s e r w e r a , b d z w i n n e m i e j s c a s i e c i . C o p r a w d a w i d e a l n y c h
w a r u n k a c h n i e p o w i n n o t o b y k o n i e c z n e , j e d n a k w p r a k t y c e m o |l i w o [ p r z e n o s z e n i a
d o k u m e n t ó w d o i n n y c h k a t a l o g ó w a n a w e t n a i n n e s e r w e r y b e z k o n i e c z n o [c i
p o p r a w i a n i a c a Be j s t r u k t u r y Bc z j e s t c z s t o b a r d z o p o |d a n a 1 . B a r d z i e j u z a s a d n i o n y m
p r a k t y c z n i e z a s t o s o w a n i e m , p r z y n a j m n i e j j e [l i i d z i e o d y r e k t y w , j e s t
o r g a n i z o w a n i e s t r u k t u r y k a t a l o g ó w , r o z r z u c o n y c h n i e r a z p o c a By m s y s t e m i e . K a t a l o g i
t a k i e m o g b y z a r z d z a n e p r z e z r ó |n y c h u |y t k o w n i k ó w , a w s k r a j n y c h p r z y p a d k a c h
m o g n a w e t z n a j d o w a s i w s y s t e m a c h p l i k ó w m o n t o w a n y c h j a k o z d a l n e ( s i e c i o w e ) . W
t a k i e j s y t u a c j i d y r e k t y w a p o z w a l a z a p r o w a d z i w i c h s t r u k t u r z e p e w i e n p o r z d e k .
D y r e k t y w a u m o |l i w i a u r u c h a m i a n i e s k r y p t ó w C G I , b e z k t ó r y c h n i e w i e l e
w i t r y n b y Bo b y w s t a n i e f u n k c j o n o w a . A l t e r n a t y w , u d o s t p n i a j c w s z y s t k i e m o |l i w o [c i
d y r e k t y w y i s p o r o w i c e j , j e s t n o w a d y r e k t y w a , k t ó r
o m ó w i m y w d a l s z e j c z [c i r o z d z i a Bu . U |y c i e t e j o s t a t n i e j w y m a g a n i e s t e t y w Bo |e n i a
p e w n e g o w y s i Bk u w z a p r o g r a m o w a n i e k i l k u r z e c z y .
D y r e k t y w a j e s t s t o s u n k o w o p r o s t a w u |y c i u , a l e z d r u g i e j s t r o n y s t a n o w i
p r z y k Ba d m o d u Bo w e j - a l e - n i e - d o - k o Dc a s t r u k t u r y s e r w e r a A p a c h e . C h o c i a |
j e s t z d e f i n i o w a n a w m o d u l e m o d _ a l i a s . c , i m p l e m e n t u j c y j k o d
o d w o Bu j e s i d o i n s t r u k c j i z a w a r t y c h w m o d u l e m o d _ c g i . c ( e w e n t u a l n i e i n n e g o m o d u Bu
o b s Bu g u j c e g o i n t e r f e j s C G I ) . F u n k c j e z a w a r t e w m o d u l e m o d _ a l i a s z a p e w n i a j j e d e n z
m e c h a n i z m ó w o b s Bu g u j c y c h d z i a Ba n i e s k r y p t ó w C G I , z a [ s a m m o d u B w Bc z a n y j e s t d o
k o d u s e r w e r a a u t o m a t y c z n i e p o d c z a s k o m p i l a c j i .
P l i k k o n f i g u r a c j i s e r w e r a z a w a r t y w k a t a l o g u & s i t e / a l i a s m a n a s t p u j c p o s t a :
1
P a m i t a j m y , |e z b y t w i e l e t a k i c h m a n e w r ó w p o t r a f i s k u t e c z n i e u t r u d n i z a r z d z a n i e w i t r y n .
1 8 4 A p a c h e P r z e w o d n i k e n c y k l o p e d y c z n y
S c r i p t A l i a s
Z d y r e k t y w m i e l i [m y j u | d o c z y n i e n i a w r o z d z i a l e 4 . U m o |l i w i a o n a
u m i e s z c z e n i e s k r y p t ó w w k a t a l o g u p o Bo |o n y m z d a l a o d w [c i b s k i c h o c z u i p a l c ó w , a p o -
n a d t o a u t o m a t y c z n i e o z n a c z a t e n |e k a t a l o g j a k o z a w i e r a j c y s k r y p t y C G I .
S c r i p t A l i a s M a t c h
D y r e k t y w a t a d z i a Ba p o d o b n i e j a k , z t r ó |n i c , |e o d e b r a n y a d r e s U R L
j e s t p o r ó w n y w a n y z w y r a |e n i e m r e g u l a r n y m . W p r z y p a d k u s t w i e r d z e n i a z g o d n o [c i , f r a g -
m e n t y a d r e s u o d p o w i a d a j c e z a w a r t o [c i n a w i a s ó w s p o d s t a w i a n e d o n a z w y k a t a l o g u ,
a u z y s k a n y w t e n s p o s ó b Ba Dc u c h t r a k t o w a n y j e s t j a k n a z w a p l i k u . A b y n p . s k i e r o w a o d -
w o Ba n i e d o s t a n d a r d o w e g o k a t a l o g u / c g i - b i n , m o |e m y z a p i s a :
A l i a s
D y r e k t y w a p o z w a l a n a p r z e c h o w y w a n i e d o k u m e n t ó w w m i e j s c u i n n y m , n i |
g Bó w n y k a t a l o g d o k u m e n t ó w o k r e [l o n y d y r e k t y w . W r a m a c h p r z y k Ba d u
m o |e m y u t w o r z y k a t a l o g o n a z w i e / u s r / w w w / s o m e w h e r e _ e l s e i u m i e [c i w n i m p l i k
l o s t . t x t , z a w i e r a j c y p r o s t y k o m u n i k a t :
T e r a z n a l e |y p o d d a e d y c j i p l i k h t t p d . c o n f , u z y s k u j c w e f e k c i e c o [ t a k i e g o :
P o u r u c h o m i e n i u s e r w e r a p o l e c e n i e m , o d w o Ba n i e d o a d r e s u
h t t p : / / w w w . b u t t e r t h l i e s . c o m . p l / g d z i e i n d z i e j p o w i n n o d a n a s t p u j c y w y n i k :
R o z d z i a B 8 : P r z e a d r e s o w y w a n i e 1 8 5
x
x
K l i k n i c i e Bc z a s p o w o d u j e p o w r ó t d o g Bó w n e g o k a t a l o g u d o k u -
m e n t ó w ( ) w i t r y n y , c z y l i / u s r / w w w / s i t e . a l i a s / h t d o c s / c u s t o m e r s , a n i e , j a k
m o |n a b y Bo b y p r z y p u s z c z a , k a t a l o g u / u s r / w w w . D z i e j e s i t a k d l a t e g o , i | Bc z e
o z n a c z a n i e k a t a l o g n a d r z d n y , l e c z n a d r z d n y a d r e s U R L , c z y l i w
n a s z y m p r z y p a d k u h t t p : / / w w w . b u t t e r t h l i e s . c o m . p l .
N i e c o z a s k a k u j c y ( n a w e t d l a t y c h , k t ó r z y j u | w i e d z , a l e a k u r a t s o b i e z a p o m n i e l i ) j e s t
f a k t , |e j e [l i w g Bó w n y m k a t a l o g u d o k u m e n t ó w w i t r y n y h t t p : / / w w w . b u t t e r t h l i e s . c o m . p l
n i e u m i e [c i m y p l i k u i n d e x . h t m l , a u t o m a t y c z n i e w y g e n e r o w a n y i n d e k s n i e b d z i e
z a w i e r a B k a t a l o g u g d z i e _ i n d z i e j .
P a m i t a j r ó w n i e |, a b y p r z y p a d k i e m n i e u |y f o r m y
( p i e r w s z y p a r a m e t r z a k o Dc z o n y j e s t u k o [n i k i e m ) . W y n i k i e m t a k i e g o z a p i s u m o g b y
n i e c o k o n f u n d u j c e k o m u n i k a t y o n i e z n a l e z i e n i u d o k u m e n t u ( N o t F o u n d ) .
A l i a s M a t c h
D y r e k t y w a t a j e s t a n a l o g i c z n a d o . J e d y n r ó |n i c j e s t p i e r w s z y p a r a m e t r , d a n y n i e
k o n k r e t n y m f r a g m e n t e m n a z w y , a w y r a |e n i e m r e g u l a r n y m .
U s e r D i r
D z i a Ba n i e d y r e k t y w y o m ó w i m y n a p r z y k Ba d z i e . Z a Bó |m y , |e k l i e n t |d a
d o s t p u d o d a n y c h p o Bo |o n y c h w k a t a l o g u m a c i e r z y s t y m ( a n g . h o m e d i r e c t o r y )
u |y t k o w n i k a p a w e l . U |y t y w |d a n i u a d r e s U R L m a w t a k i e j s y t u a c j i p o s t a
h t t p : / / w w w . b u t t e r t h l i e s . c o m . p l / ~ p a w e l , c o t Bu m a c z y s i j a k o k a t a l o g m a c i e r z y s t y P a w Ba
n a s e r w e r z e i d e n t y f i k o w a n y m w s y s t e m i e D N S j a k o w w w . b u t t e r t h l i e s . c o m . p l .
D y r e k t y w a p o z w a l a z d e f i n i o w a f a k t y c z n y p o d k a t a l o g k a t a l o g u m a c i e r z y s t e g o
u |y t k o w n i k a , u |y w a n y p o d c z a s o b s Bu g i |d a n i a d o s t p u d o d o k u m e n t u p o d a n e g o w
f o r m a c i e p r z e d s t a w i o n y m p o w y |e j . P a r a m e t r k a t a l o g m o |e z a w i e r a :
" n a z w l u b w z o r z e c n a z w y k a t a l o g u , j a k p o d a n o w p r z y k Ba d a c h p o n i |e j ;
" s Bo w o k l u c z o w e . J e g o u |y c i e b l o k u j e o d w z o r o w y w a n i e n a z w
u |y t k o w n i k ó w n a k a t a l o g i ; n i e d o t y c z y t o u |y t k o w n i k ó w w y s z c z e g ó l n i o n y c h n a
l i [c i e ;
" s Bo w o k l u c z o w e i l i s t n a z w u |y t k o w n i k ó w r o z d z i e l o n y c h z n a k a m i s p a -
c j i . L i s t a t a o k r e [l a n a z w y u |y t k o w n i k ó w , d l a k t ó r y c h o d w z o r o w y w a n i e n i e b d z i e
w y k o n y w a n e n a w e t w p r z y p a d k u i c h u m i e s z c z e n i a n a l i [c i e ;
1 8 6 A p a c h e P r z e w o d n i k e n c y k l o p e d y c z n y
" s Bo w o k l u c z o w e i l i s t n a z w u |y t k o w n i k ó w r o z d z i e l o n y c h z n a k a m i s p a c j i .
L i s t a t a o k r e [l a n a z w y u |y t k o w n i k ó w , d l a k t ó r y c h o d w z o r o w y w a n i e b d z i e
d o k o n y w a n e m i m o g l o b a l n e g o z a k a z u u s t a n o w i o n e g o s Bo w e m .
J e |e l i d y r e k t y w a n i e z a w i e r a s Bo w a a n i , j e j p a r a m e t r i n t e r -
p r e t o w a n y j e s t j a k o w z o r z e c n a z w y p l i k u u |y w a n y d o t Bu m a c z e n i a n a z w y u |y t k o w n i k a
n a s p e c y f i k a c j k a t a l o g u . O t o k i l k a p r z y k Ba d ó w t Bu m a c z e n i a a d r e s u U R L :
h t t p : / / w w w . f i r m a . c o m / ~ p a w e l / r a z / d w a . h t m l :
Z k o l e i p o n i |s z e u |y c i e p o n i |s z y c h d y r e k t y w s p o w o d u j e p r z e s Ba n i e d o k l i e n t a p o l e c e n i a
p r z e a d r e s o w a n i a ( r e d i r e c t ) :
U |y c i e d y r e k t y w y w y m a g a j e d n a k r o z w a g i : p r z y k Ba d o w o , z a p i s
s p o w o d u j e o d w z o r o w a n i e n a a d r e s / k a t a l o g u / ~ r o o t , c z e g o r a c z e j n a l e |y u n i k a . U |y t -
k o w n i k o m s e r w e r a A p a c h e w w e r s j i 1 . 3 l u b n o w s z e j u s i l n i e z a l e c a s i u m i e s z c z e n i e
w p l i k u k o n f i g u r a c j i s e r w e r a d y r e k t y w y .
W I N 3 2 W e r s j a A p a c h e p r z e z n a c z o n a d l a W i n d o w s n i e z n a p o j c i a k a t a l o g u m a c i e r z y s t e g o u |y t -
k o w n i k a , t o t e | o d w z o r o w a n i a k i e r u j c e o d w o Ba n i e d o t a k i e g o k a t a l o g u ( z o b a c z p i e r w s z y
p r z y k Ba d ) n i e b d d z i a Ba By p o p r a w n i e .
R e d i r e c t
D y r e k t y w a k i e r u j e o d w o Ba n i e d o a d r e s u U R L p o d i n n y a d r e s .
R e d i r e c t M a t c h
D z i a Ba n i e d y r e k t y w y j e s t a n a l o g i c z n e d o , j e d n a k p i e r w s z y
p a r a m e t r j e s t w t y m p r z y p a d k u d a n y w y r a |e n i e m r e g u l a r n y m .
Z n i e j a k p r z y k r o [c i m u s i m y s t w i e r d z i , |e p r a c o w n i c y d z i a Bu h a n d l o w e g o n a s z e j f i r m y
o d p e w n e g o c z a s u n a d u |y w a l i s w o i c h p r z y w i l e j ó w i p o s i a d a n y c h z a s o b ó w . W z w i z k u
z t y m p r z e Bo |e n i p o s t a n o w i l i d a i m n a u c z k , z a b r a n i a j c i m d o s t p u d o r ó |n y c h
s Bo d k i c h s e k r e t ó w z a p i s a n y c h w p l i k u s e k r e t y i o d s y Ba j c i c h w z a m i a n d o p u b l i c z n i e
d o s t p n e j s t r o n y p r z e z n a c z o n e j d l a k l i e n t ó w . C ó | z a u p o k o r z e n i e ! A l e z r o b i t o Ba t w o :
w y s t a r c z y p o p r a w i p l i k h t t p d . c o n f d o n a s t p u j c e j p o s t a c i :
R o z d z i a B 8 : P r z e a d r e s o w y w a n i e 1 8 7
D y r e k t y w a m o |e b y p o Bo |o n a w d o w o l n y m m i e j s c u w o b r b i e o d p o w i e d n i e -
g o b l o k u . J e [l i t e r a z s p r ó b u j e s z o d w o Ba s i d o a d r e s u U R L h t t p : / /
s a l e s . b u t t e r t h l i e s . c o m . p l / s e k r e t y , z o s t a n i e s z s k i e r o w a n y o b j a z d e m n a s t r o n p r z e z n a -
c z o n d l a k l i e n t ó w h t t p : / / w w w . b u t t e r t h l i e s . c o m . p l .
B a r d z o i s t o t n r ó |n i c p o m i d z y d y r e k t y w a m i i j e s t t o , |e w p r z y p a d -
k u p r z e g l d a r k a o t r z y m u j e j a w n i n f o r m a c j o n o w y m a d r e s i e , z a [ w
p r z y p a d k u d y r e k t y w y n i e . A d r e s p r z e k a z a n y k l i e n t o w i w w y n i k u u |y c i a
d y r e k t y w y j e s t t r a k t o w a n y j a k o a d r e s b a z o w y d l a w s z y s t k i c h Bc z
z n a j d u j c y c h s i w p o b r a n y m d o k u m e n c i e .
T r a n s l a c j a a d r e s ó w U R L
W p i e r w s z e j c z [c i r o z d z i a Bu z a j l i [m y s i m o d u Be m m o d _ a l i a s . c i j e g o p r z y l e g Bo [c i a m i .
Z e s t a w f u n k c j i m o d u Bu a l i a s , a t a k |e w i e l e i n n y c h m o |l i w o [c i , i m p l e m e n t u j e i n n y
m o d u B, m o d _ r e w r i t e . c . J e s t t o z w a r t y z b i ó r p r o c e d u r , b d c y s a m w s o b i e n i e m a l |e
k o m p l e t n y m p r o g r a m e m 2 . D o k Ba d n a i o b s z e r n a d o k u m e n t a c j a m o d u Bu d o s t p n a j e s t p o d
a d r e s e m h t t p : / / w w w . e n g e l s c h a l l . c o m / p w / a p a c h e / r e w r i t e g u i d e / , d o k t ó r e g o o d s y Ba m y
C z y t e l n i k ó w p o w a |n i e j z a i n t e r e s o w a n y c h w y k o r z y s t a n i e m j e g o m o |l i w o [c i . T u t a j
o g r a n i c z y m y s i j e d y n i e d o o g ó l n e g o o m ó w i e n i a m o |l i w o [c i i f u n k c j i m o d u Bu .
D y r e k t y w a p o r ó w n u j e a d r e s U R L z t z w . w z o r c e m t r a n s l a c j i ( a n g . r e w r i t i n g
p a t t e r n ) . W p r z y p a d k u s t w i e r d z e n i a z g o d n o [c i w z o r c a i a d r e s u , t e n o s t a t n i j e s t n a s t p n i e
t Bu m a c z o n y ( p r z e p i s y w a n y ) p o p r z e z p o d s t a w i e n i e t r a n s l a c y j n e ( a n g . r e w r i t i n g
s u b s t i t u t i o n ) . W z o r z e c t r a n s l a c j i d a n y j e s t z w y k l e p r o s t y m w y r a |e n i e m r e g u l a r n y m , j a k
n p . z a p i s , o d p o w i a d a j c y d o w o l n e j n a z w i e m o d u Bu . T e o r i a i p r a k t y k a u |y c i a
w y r a |e D r e g u l a r n y c h j e s t d o [ o b s z e r n a , t o t e | z a i n t e r e s o w a n y c h C z y t e l n i k ó w o d s y Ba m y
d o d o k u m e n t u & / s r c / r e g e x / r e g e x . 7 ( j e s t t o s t r o n a p o d r c z n i k a s y s t e m o w e g o m a n , k t ó r
n p . w s y s t e m i e F r e e B S D m o |n a w y [w i e t l i p o l e c e n i e m x ) .
W y r a |e n i a r e g u l a r n e o m ó w i o n o r ó w n i e | w d o k u m e n t a c j i s t a n d a r d u P O S I X , a t a k |e w
k s i |c e J e f f r e y a F r i e d l a M a s t e r i n g R e g u l a r E x p r e s s i o n s ( O R e i l l y &