Você está na página 1de 13

Apache przewodnik encyklopedyczny

Autorzy: Ben Laurie, Peter Laurie


Tumaczenie: Tomasz M. Sadowski
ISBN: 83-7197-181-8
Format: B5, 408 stron
Zawiera CD-ROM
Przesyka gratis! Odbiorca pokrywa jedynie koszty pobrania (2,70 z)
w przypadku przesyki za zaliczeniem pocztowym

Wydawnictwo Helion
ul. Chopina 6, 44-100 Gliwice, POLAND
telefon: (32) 230-98-63, 231-22-19
fax: (32) 230-98-63 w.10
mail: helion@helion.com.pl

Ksika ta stanowi kompendium wiedzy o najpopularniejszym serwerze WWW


na wiecie. Przedstawione w niej przykady umoliwi wieo upieczonym
administratorom serwerw WWW byskawiczne nabranie wprawy w zarzdzaniu
serwerem. Dowiadczeni administratorzy i programici tworzcy skrypty CGI
znajd tu wiele cennych, szczegowych informacji natury encyklopedycznej,
za dla programistw systemowych przeznaczone s rozdziay o interfejsie
programowym i tworzeniu moduw..............................................................................
Zobacz przykadowy rozdzia
Spis treci
Jeeli znasz t ksik oce j
Aktualny cennik ksiek e-mailem
Ksiki i "3D" Online
Informacje o nowociach e-mailem
Zamw najnowszy katalog

Helion 2000

8
Przeadresowywanie
0DRFRZ*\FLX]QDMGXMHVL
QDZDFLZ\PPLHMVFXZHZDFLZ\PF]DVLH7HQVPXWQ\
wniosek dotyczy nie tylko serwerw WWW, ale i wszelkich innych rzeczy, ktre nas otaF]DM$E\SRUDG]LVRELH]W\PSUREOHPHPDGPLQLVWUDWRUPDGRG\VSR]\FMLG\UHNW\Z\
$OLDV i 5HGLUHFW SR]ZDODMFH NLHURZD QDGFKRG]FH *GDQLD QD LQQH WRU\ EG( WR
wREU
ELH V\VWHPX SOLNyZ VHUZHUD EG( Z LQQH PLHMVFD VLHFL &R SUDZGD Z LGHDOQ\FK
waUXQNDFK QLH SRZLQQR WR E\ NRQLHF]QH MHGQDN Z SUDNW\FH PR*OLZR Srzenoszenia
dokuPHQWyZ GR LQQ\FK NDWDORJyZ  D QDZHW QD LQQH VHUZHU\  EH] NRQLHF]QRFL
SRSUDZLDQLD FDHM VWUXNWXU\ F] MHVW F]
VWR EDUG]R SR*GDQD1. Bardziej uzasadnionym
praktycznie zasWRVRZDQLHP SU]\QDMPQLHM MHOL LG]LH R G\UHNW\Z
 $OLDV, jest
RUJDQL]RZDQLH VWUXNWXU\ NDWDORJyZ UR]U]XFRQ\FK QLHUD] SR FD\P V\VWHPLH .DWDORJL
WDNLH PRJ E\ ]DU]G]DQH SU]H] Uy*Q\FK X*\WNRZQLNyZ D Z VNUDMQ\FK SU]\SDGNDFK
PRJQDZHW]QDMGRZDVL
Z systemach plikw montowanych jako zdalne (sieciowe). W
takiej sytuacji dyrektywa $OLDVSR]ZDOD]DSURZDG]LZLFKVWUXNWXU]HSHZLHQSRU]GHN
Dyrektywa 6FULSW$OLDVXPR*OLZLDXUXFKDPLDQLHVNU\SWyZ&*,EH]NWyU\FKQLHZLHOH
ZLWU\QE\RE\ZVWDQLHIXQNFMRQRZD$OWHUQDW\ZXGRVW
SQLDMFZV]\VWNLHPR*OLZRFL
dyrektywy 6FULSW$OLDV L VSRUR ZL
FHM MHVW QRZD G\UHNW\ZD 5HZULWH NWyU
RPyZLP\ Z GDOV]HM F]
FL UR]G]LDX 8*\FLH WHM RVWDWQLHM Z\PDJD QLHVWHW\ ZR*HQLD
SHZQHJRZ\VLku w zaprogramowanie kilku rzeczy.
Dyrektywa 6FULSW$OLDVMHVWVWRVXQNRZRSURVWDZX*\FLXDOH]GUXJLHMVWURQ\VWDQRZL
SU]\NDG PRGXRZHMDOHQLHGRNRFD VWUXNWXU\ VHUZHUD $SDFKH &KRFLD*
6FULSW$OLDV jest zdefiniowana w module mod_alias.c LPSOHPHQWXMF\ M NRG
RGZRXMH VL
 GR LQVWUXNcji zawartych w module mod_cgi.c HZHQWXDOQLH LQQHJR PRGXX
REVXJXMFHJRLQWHUIHMV&*, )XQNFMH]DZDUWHZPRGXOHmod_alias]DSHZQLDMMHGHQ]
PHFKDQL]PyZ REVXJXMF\FK G]LDDQLH VNU\SWyZ &*, ]D VDP PRGX ZF]DQ\ MHVW GR
kodu serwera automatycznie podczas kompilacji.
Plik konfiguracji serwera zawarty w katalogu site/aliasPDQDVW
SXMFSRVWD
8VHUZHEXVHU
*URXSZHEJURXS
6HUYHU1DPHZZZEXWWHUWKOLHVFRPSO
1DPH9LUWXDO+RVW
9LUWXDO+RVWZZZEXWWHUWKOLHVFRPSO!
3DPL
WDMP\*H]E\WZLHOHWDNLFKPDQHZUyZSRWUDILVNXWHF]QLHXWUXGQL]DU]G]DQLHZLWU\Q

Apache Przewodnik encyklopedyczny

184

6HUYHU$GPLQVDOHV#EXWWHUWKOLHVFRPSO
'RFXPHQW5RRWXVUZZZVLWHDOLDVKWGRFVFXVWRPHUV
(UURU/RJXVUZZZVLWHDOLDVORJVFXVWRPHUVHUURUBORJ
7UDQVIHU/RJXVUZZZVLWHDOLDVORJVFXVWRPHUVDFFHVVBORJ
$OLDVJG]LHLQG]LHMXVUZZZVRPHZKHUHBHOVH
9LUWXDO+RVW!
9LUWXDO+RVWVDOHVEXWWHUWKOLHVFRPSO!
6HUYHU$GPLQVDOHVBPJU#EXWWHUWKOLHVFRPSO
'RFXPHQW5RRWXVUZZZVLWHDOLDVKWGRFVVDOHVPHQ
6HUYHU1DPHVDOHVEXWWHUWKOLHVFRPSO
(UURU/RJXVUZZZVLWHDOLDVORJVVDOHVPHQHUURUBORJ
7UDQVIHU/RJXVUZZZVLWHDOLDVORJVVDOHVPHQDFFHVVBORJ
5HGLUHFWVHNUHW\KWWSZZZEXWWHUWKOLHVFRPSO
6FULSW$OLDVFJLELQXVUZZZFJLELQ
9LUWXDO+RVW!

ScriptAlias
6FULSW$OLDVSUHILNV85/NDWDORJ
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQH

= G\UHNW\Z 6FULSW$OLDV PLHOLP\ MX* GR F]\QLHQLD Z UR]G]LDOH  8PR*OLZLD RQD
XPLHV]F]HQLHVNU\SWyZZNDWDORJXSRR*RQ\P]GDODRGZFLEVNLFKRF]XLSDOFyZDSR
QDGWRDXWRPDW\F]QLHR]QDF]DWHQ*HNDWDORJMDNR]DZLHUDMF\VNU\SW\&*,

ScriptAliasMatch
6FULSW$OLDV0DWFKZ\UDHQLHUHJXODUQHNDWDORJOXESOLN
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQH

'\UHNW\ZD WD G]LDD SRGREQLH MDN 6FULSW$OLDV ] W Uy*QLF *H RGHEUDQ\ DGUHV 85/
MHVWSRUyZQ\ZDQ\]Z\UD*HQLHPUHJXODUQ\P:SU]\SDGNXVWZLHUG]HQLD]JRGQRFLIUDJ
PHQW\ DGUHVX RGSRZLDGDMFH ]DZDUWRFL QDZLDVyZ V SRGVWDZLDQH GR QD]Z\ katalogu,
aX]\VNDQ\ZWHQVSRVyEDFXFKWUDNWRZDQ\MHVWMDNQD]ZDSOLNX$E\QSVNLHURZDRG
ZRDQLHGRVWDQGDUGRZHJRNDWDORJX/cgi-binPR*HP\]DSLVD
6FULSW$OLDV0DWFKAFJLELQ  XVUORFDODSDFKHFJLELQ

Alias
$OLDVSUHILNV85/NDWDORJ
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQH

Dyrektywa $OLDV SR]ZDOD QD SU]HFKRZ\ZDQLH GRNXPHQWyZ Z PLHMVFX LQQ\P QL*


JyZQ\NDWDORJGRNXPHQWyZRNUHORQ\G\UHNW\Z'RFXPHQW5RRW:UDPDFKSU]\NDGX
mo*HP\ XWZRU]\ NDWDORJ R QD]ZLH /usr/www/somewhere_else L XPLHFL Z QLP SOLN
lost.txt]DZLHUDMF\SURVW\NRPXQLNDW
=JXELHPVLr

7HUD]QDOH*\SRGGDHG\FMLSOLNhttpd.confX]\VNXMFZHIHNFLHFRWDNLHJR

7UDQVIHU/RJXVUZZZVLWHDOLDVORJVFXVWRPHUVDFFHVVBORJ
$OLDVJG]LHLQG]LHMXVUZZZVRPHZKHUHBHOVH
9LUWXDO+RVW!


Po
uruchomieniu
serwera
poleceniem
RGZRDQLH
JR
http://www.butterthlies.com.pl/ gdzieindziejSRZLQQRGDQDVW
SXMF\Z\QLN

GR

DGUHVX

5R]G]LD3U]HDGUHVRZ\ZDQLH

185

,QGH[RIVRPHZKHUHBHOVH
3DUHQW'LUHFWRU\
ORVWW[W

.OLNQL
FLH F]D 3DUHQW 'LUHFWRU\ VSRZRGXMH SRZUyW GR JyZQHJR NDWDORJX GRNX
mentw ('RFXPHQW5RRW) witryny, czyli /usr/www/site.alias/htdocs/customers, a nie, jak
PR*QDE\RE\SU]\SXV]F]DNDWDORJX/usr/www']LHMHVL
WDNGODWHJRL*F]H 3DUHQW
'LUHFWRU\ R]QDF]D QLH NDWDORJ QDGU]
GQ\ OHF] QDGU]
GQ\ DGUHV 85/ F]\OL Z
naszym przypadku http://www.butterthlies.com.pl.
1LHFR]DVNDNXMF\ QDZHWGODW\FKNWyU]\MX*ZLHG]DOHDNXUDWVRELH]DSRPQLHOL MHVW
IDNW *H MHOL Z JyZQ\P NDWDORJX GRNXPHQWyZ ZLWU\Q\ http://www.butterthlies.com.pl
QLH XPLHFLP\ SOLNX index.html DXWRPDW\F]QLH Z\JHQHURZDQ\ LQGHNV QLH E
G]LH
]DZLHUDNDtalogu gdzie_indziej.
3DPL
WDMUyZQLH*DE\SU]\SDGNLHPQLHX*\IRUP\
$OLDVJG]LHLQG]LHMXVUZZZVRPHZKHUHBHOVH

SLHUZV]\ SDUDPHWU ]DNRF]RQ\ MHVW XNRQLNLHP  :\QLNLHP WDNLHJR ]DSLVX PRJ E\


QLHFRNRQIXQGXMFHNRPXQLNDW\Rnieznalezieniu dokumentu (Not Found).

AliasMatch
$OLDV0DWFKZ\UDHQLHUHJXODUQHNDWDORJ
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQH

Dyrektywa ta jest analogiczna do $OLDV-HG\QUy*QLFMHVWSLHUZV]\SDUDPHWUGDQ\QLH


NRQNUHWQ\PIUDJPHQWHPQD]Z\DZ\UD*HQLHPUHJXODUQ\P

UserDir
8VHU'LUNDWDORJ
:DUWRGRP\OQDSXEOLFBKWPO
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQH

']LDDQLH G\UHNW\Z\ 8VHU'LU RPyZLP\ QD SU]\NDG]LH =Dy*P\ *H NOLHQW *GD
GRVW
SX GR GDQ\FK SRR*RQ\FK Z NDWDORJX PDFLHU]\VW\P DQJ home directory)
X*\WNRZQLND pawel 8*\W\ Z *GDQLX DGUHV 85/ PD Z WDNLHM V\WXDFML SRVWD
http://www.butterthlies.com.pl/ ~pawel FR WXPDF]\ VL
 MDNR NDWDORJ PDFLHU]\VW\ 3DZD
na serwerze identyfikowanym w systemie DNS jako www.butterthlies.com.pl.
Dyrektywa 8VHU'LU pozwala zdefinioZDIDNW\F]Q\SRGNDWDORJNDWDORJXPDFLHU]\VWHJR
X*\WNRZQLND X*\ZDQ\ SRGF]DV REVXgi *GDQLD GRVW
SX GR GRNXPHQWX SRGDQHJR Z
IRUPDFLHSU]HGVWDZLRQ\PSRZ\*HM3DUDmetr katalogPR*H]DZLHUD

QD]Z
OXEZ]RU]HFQD]Z\NDWDORJXMDNSRGDQRZSU]\NDGDFKSRQL*HM

VRZR NOXF]RZH GLVDEOHG -HJR X*\FLH EORNXMH RGZ]RURZ\ZDQLH QD]Z


X*\WNRZQLNyZ QD NDWDORJL QLH GRW\F]\ WR X*\WNRZQLNyZ Z\V]F]HJyOQLRQ\FK QD
OLFLHHQDEOHG;

VRZRNOXF]RZH GLVDEOHGLOLVW
QD]ZX*\WNRZQLNyZUR]G]LHORQ\FK]QDNDPLVSD
FML/LVWDWDRNUHODQD]Z\X*\WNRZQLNyZGODNWyU\FKRGZ]RURZ\ZDQLHQLHE
G]LH
wykonywane nawetZSU]\SDGNXLFKXPLHV]F]HQLDQDOLFLHHQDEOHG;

Apache Przewodnik encyklopedyczny

186

VRZRNOXF]RZHHQDEOHGLOLVW
QD]ZX*\WNRZQLNyZUR]G]LHORQ\FK]QDNDPLVSDFML
/LVWD WD RNUHOD QD]Z\ X*\WNRZQLNyZ GOD NWyU\FK RGZ]RURZ\ZDQLH E
G]LH
dokonyZDQHPLPRJOREDOQHJR]DND]XXVWDQRZLRQHJRVRZHPGLVDEOHG.

-H*HOLG\UHNW\ZD8VHU'LUQLH]DZLHUDVRZDGLVDEOHG ani HQDEOHG, jej parametr interSUHWRZDQ\MHVWMDNRZ]RU]HF QD]Z\ SOLNX X*\ZDQ\ GR WXPDF]HQLD QD]Z\ X*\WNRZQLND
na VSHF\ILNDFM
 NDWDORJX 2WR NLOND SU]\NDGyZ WXPDF]HQLD DGUHVX 85/
http://www.firma.com/ ~pawel/raz/dwa.html:
8VHU'LUSXEOLFBKWPO
8VHU'LUXVUZHE
8VHU'LUKRPH ZZZ

!aSDZHOSXEOLFBKWPOUD]GZDKWPO
!XVUZHESDZHOUD]GZDKWPO
!KRPHSDZHOZZZUD]GZDKWPO

=NROHLSRQL*V]HX*\FLHSRQL*V]\FKG\UHNW\ZVSRZRGXMHSU]HVDQLHGRNOLHQWDSROHFHQLD
przeadresowania (redirect):
8VHU'LUKWWSZZZILUPDFRPELXUR!
KWWSZZZILUPDFRPELXURSDZHOUD]GZDKWPO
8VHU'LUKWWSZZZILUPDFRP XVU!
KWWSZZZILUPDFRPSDZHOXVUUD]GZDKWPO
8VHU'LUKWWSZZZILUPDFRPa !
KWWSZZZILUPDFRPaSDZHOUD]GZDKWPO

8*\FLHG\UHNW\Z\ 8VHU'LUZ\PDJDMHGQDNUR]ZDJLSU]\NDGRZR]DSLV 8VHU'LU


spowoduje odwzorowanie na adres / katalogu /~rootF]HJRUDF]HMQDOH*\XQLND8*\W
NRZQLNRP VHUZHUD $SDFKH Z ZHUVML  OXE QRZV]HM XVLOQLH ]DOHFD VL
 XPLHV]F]HQLH
w pliku konfiguracji serwera dyrektywy 8VHU'LUGLVDEOHGURRW.
WIN32

:HUVMD$SDFKHSU]H]QDF]RQDGOD:LQGRZVQLH]QDSRM
FLDNDWDORJXPDFLHU]\VWHJRX*\W
NRZQLNDWRWH*RGZ]RURZDQLDNLHUXMFHRGZRDQLHGRWDNLHJRNDWDORJX ]REDF]SLHUZV]\
SU]\NDG QLHE
GG]LDD\SRSUDZQLH

Redirect
5HGLUHFWSUHILNV85/85/
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQHNDWDORJLSOLNL
KWDFFHVV

Dyrektywa 5HGLUHFWNLHUXMHRGZRDQLHGRDGUHVX85/SRGLQQ\DGUHV

RedirectMatch
5HGLUHFW0DWFKZ\UDHQLHUHJXODUQH85/
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQH

']LDDQLH G\UHNW\Z\ 5HGLUHFW0DWFK jest analogiczne do 5HGLUHFW, jednak pierwszy


SDUDPHWUMHVWZW\PSU]\SDGNXGDQ\Z\UD*HQLHPUHJXODUQ\P
=QLHMDNSU]\NURFLPXVLP\VWZLHUG]L*HSUDFRZQLF\G]LDXKDQGORZHJRQDV]HMILUP\
RGSHZQHJRF]DVXQDGX*\ZDOLVZRLFK SU]\ZLOHMyZ L SRVLDGDQ\FK ]DVREyZ : ]ZL]NX
zW\P SU]HR*HQL SRVWDQRZLOL GD LP QDXF]N
 ]DEUDQLDMF LP GRVW
SX GR Uy*Q\FK
VRGNLFK VHNUHWyZ ]DSLVDQ\FK Z SOLNX sekrety L RGV\DMF LFK Z ]DPLDQ GR SXEOLF]QLH
GRVW
SQHM VWURQ\ SU]H]QDF]RQHM GOD NOLHQWyZ &y* ]D XSRNRU]HQLH $OH ]UREL WR DWZR
Z\VWDUF]\SRSUDZLSOLNhttpd.confGRQDVW
SXMFHMSRVWDFL

9LUWXDO+RVWVDOHVEXWWHUWKOLHVFRPSO!
6HUYHU$GPLQVDOHVBPJU#EXWWHUWKOLHVFRPSO
5HGLUHFWVHNUHW\KWWSZZZEXWWHUWKOLHVFRPSO

5R]G]LD3U]HDGUHVRZ\ZDQLH

187

'RFXPHQW5RRWXVUZZZVLWHDOLDVKWGRFVVDOHVPHQ


Dyrektywa 5HGLUHFWPR*HE\SRR*RQDZGRZROQ\PPLHMVFXZREU
ELHRGSRZLHGQLH
go bloku 9LUWXDO+RVW! -HOL WHUD] VSUyEXMHV] RGZRD VL
 GR DGUHVX 85/ http://
sales.butterthlies.com.pl/sekrety ]RVWDQLHV] VNLHURZDQ\ REMD]GHP QD VWURQ
 SU]H]QD
F]RQGODNOLHQWyZhttp://www.butterthlies.com.pl.
%DUG]RLVWRWQUy*QLFSRPL
G]\G\UHNW\ZDPL$OLDV i 5HGLUHFWMHVWWR*HZSU]\SDG
ku 5HGLUHFW SU]HJOGDUND RWU]\PXMH MDZQ LQIRUPDFM
 R QRZ\P DGUHVLH ]D Z
przypadku dyrektywy $OLDV  QLH $GUHV SU]HND]DQ\ NOLHQWRZL Z Z\QLNX X*\FLD
dyrektywy 5HGLUHFW MHVW WUDNWRZDQ\ MDNR DGUHV ED]RZ\ GOD ZV]\VWNLFK F]
]QDMGXMF\FKVL
ZSRbranym dokumencie.

Translacja adresw URL


:SLHUZV]HMF]
FLUR]G]LDX]DM
OLP\VL
PRGXHPmod_alias.cLMHJRSU]\OHJRFLDPL
=HVWDZ IXQNFML PRGXX alias D WDN*H ZLHOH LQQ\FK PR*OLZRFL LPSOHPHQWXMH LQQ\
PRGX mod_rewrite.c -HVW WR ]ZDUW\ ]ELyU SURFHGXU E
GF\ VDP Z VRELH QLHPDO*H
kompletnym programem2'RNDGQDLREV]HUQDGRNXPHQWDFMDPRGXXGRVW
SQDMHVWSRG
adresem http://www.engelschall.com/pw/apache/rewriteguide/ GR NWyUHJR RGV\DP\
&]\WHOQLNyZ SRZD*QLHM ]DLQWHUHVRZDQ\FK Z\NRU]\VWDQLHP MHJR PR*OLZRFL 7XWDM
RJUDQLF]\P\VL
MHG\QLHGRRJyOQHJRRPyZLHQLDPR*OLZRFLLIXQNFMLPRGXX
Dyrektywa 5HZULWH porwnuje adres URL z tzw. wzorcem translacji (ang. rewriting
pattern :SU]\SDGNXVWZLHUG]HQLD]JRGQRFLZ]RUFDLDGUHVXWHQRVWDWQLMHVWQDVW
SQLH
WXPDF]RQ\ SU]HSLV\ZDQ\  SRSU]H] podstawienie translacyjne (ang. rewriting
substitution  :]RU]HF WUDQVODFML GDQ\ MHVW ]Z\NOH SURVW\P Z\UD*HQLHP UHJXODUQ\P MDN
np. zapis PRG ?FRGSRZLDGDMF\GRZROQHMQD]ZLHPRGXX7HRULDLSUDNW\NDX*\FLD
Z\UD*HUHJXODUQ\FKMHVWGRREV]HUQD WRWH* ]DLQWHUHVRZDQ\FK &]\WHOQLNyZ RGV\DP\
do dokumentu /src/regex/regex.7 MHVW WR VWURQD SRGU
F]QLND V\VWHPRZHJRmanNWyU
np. w systemie )UHH%6' PR*QD Z\ZLHWOL SROHFHQLHP QURII PDQ UHJH[).
:\UD*HQLD UHgulaUQH RPyZLRQR UyZQLH* Z GRNXPHQWDFML VWDQGDUGX 326,; D WDN*H Z
NVL*FH Jeffreya Friedla Mastering Regular Expressions (OReilly & Associates). W
RJURPQ\P VNUyFLH PR*QD SRZLHG]LH *H Z\UD*HQLD UHJXODUQH SR]ZDODM QD WZRU]HQLH
wzorcw, zbudowaQ\FK]RNUHORQHJR]HVWDZX]QDNyZVSHFMDOQ\FKLZ\NRU]\VW\ZDQ\FK
do porwnywania z fragmentami przekazywanych przez klienta adresw URL.
: SRGVWDZLHQLDFK PR*QD Z\NRU]\VW\ZD IXQNFMH RGZ]RURZXMFH SRELHUDMFH
IUDJPHQW\DGUHVyZLSRUyZQXMFHMH]]DZDUWRFLED]GDQ\FKDQDZHWSU]HNV]WDFDMFH
je za pomoF LQQ\FK SURJUDPyZ 3URFHV WXPDF]HQLD DGUHVX PR*H E\ SURZDG]RQ\
LWHUDF\MQLH OXE UHNXUHQF\MQLH ZHGXJ GRNXPHQWDFML PR*OLZH MHVW WZRU]HQLH S
WOL
WXPDF]F\FK GHILQLRZDQLH NU\WHULyZ VWRSX VHNZHQF\MQH X*\FLH UHJX WZRU]HQLH
konstrukcji pseudowarunkowych Z\PXV]DQLH SU]HDGUHVRZD W\SyZ 0,0( L
SU]HND]\ZDQLD SRSU]H] PRGX VHUZHUD SRUHGQLF]FHJR =HVWDZ IXQNFML RIHURZDQ\FK
SU]H] PRGX mod_rewrite jest tak obszerQ\ L* MHJR RSDQRZDQLH QD GURG]H WHRUHW\F]QHM
MHVW QDMSUDZGRSRGREQLHM QLHPR*OLZH :\GDMH VL
 ZU
F] L* *DGHQ ] SUREOHPyZ
]ZL]DQ\FK]RPDZLDQ\PSU]H]QDVWHPDWHPQLHMHVWGODmod_rewriteQLHUR]ZL]\ZDOQ\

1LH]PLHQLDWRIDNWX*HSURVWH]DGDQLDDWZLHMMHVWUHDOL]RZDZRSDUFLXRG\UHNW\Z
$OLDV i jej dodatki.

Apache Przewodnik encyklopedyczny

188

]DNDGDMFRF]\ZLFLH*HSURJUDPLVWDE
G]LHZVWDQLHZR*\ZUR]ZL]DQLHRGSRZLHGQL
Z\VLHNLQWHOHNWXDOQ\
=DVWRVRZDQLDPRGXXmod_rewriteVSURZDG]DMVL
GRF]WHUHFKG]LHG]LQ

8*\FLDJRSU]H]DGPLQLVWUDWRUDVHUZHUDZSOLNXhttpd.confZNRQWHNFLHJyZQ\P
=GHILQLRZDQHWDNUHJX\PDM]DVWRVRZDQLHGRZV]\VWNLFKDGUHVyZREVXJLZDQ\FK
SU]H] VHUZHU F]QLH ] DGUHVDPL ]QDMGXMF\PL VL
 Z GRPHQLH VHUZHUyZ
wirtualnych.

8*\FLDJRSU]H]DGPLQLVWUDWRUDVHUZHUDZEORNDFK9LUWXDO+RVW!. Zdefiniowane
WDNUHJX\VWRVXMVL
W\ONRGRDGUHVyZ]ZL]DQ\FK]GDQ\PVHUZHUHPZLUWXDOQ\P

8*\FLDJRSU]H]DGPLQLVWUDWRUDZEORNDFK'LUHFWRU\!7DN]GHILQLRZDQHUHJX\
RGQRV]VL
Z\F]QLHGRGDQHJRNDWDORJX

6WRVRZDQLD JR SU]H] X*\WNRZQLNyZ Z LFK ZDVQ\FK SOLNDFK .htaccess.


=GHILQLRZDQHWDNUHJX\RGQRV]VL
Z\F]QLHGRGDQHJRNDWDORJX

6DPHG\UHNW\Z\QLHVVNRPSOLNRZDQHRPDZLDP\MHSRQL*HM

RewriteEngine
5HZULWH(QJLQHRQ_RII
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQHNDWDORJLSOLNLKWDFFHVV

Dyrektywa 5HZULWH(QJLQHZF]D RQ LZ\F]D RII) mechanizm translacji adresw.


8*\FLHSDUDPHWUX RIIFDNRZLFLHEORNXMHWUDQVODFM
=DPLDVWZ\F]DSRV]F]HJyOQHUH
JX\SRSU]H]ZVWDZLDQLHGRZLHUV]\5HZULWH5XOH]QDNyZNRPHQWDU]DOHSLHMMHVWZ\
F]\WUDQVODFM
FDNRZLFLHG\UHNW\Z5HZULWH(QJLQHRII.

RewriteLog
5HZULWH/RJSOLN
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQH

'\UHNW\ZD WD RNUHOD QD]Z


 SOLNX Z NWyU\P UHMHVWURZDQH E
G ]GDU]HQLD ]ZL]DQH
z translaFMDGUHVyZ85/1D]Z\QLHUR]SRF]\QDMFHVL
RG]QDNXXNRQLND  VWUDN
WRZDQHMDNRZ]JO
GQHZVWRVXQNXGRJyZQHJRNDWDORJXVHUZHUD 6HUYHU5RRW). DyrekW\ZDWDSRZLQQDZ\VW
SRZDZSOLNXNRQILJXUDFMLVHUZHUDW\ONRUD]

RewriteLogLevel
5HZULWH/RJ/HYHOOLF]ED
:DUWRGRP\OQD
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQH

'\UHNW\ZDWDRNUHODSR]LRPV]F]HJyRZRFLGDQ\FKUHMHVWURZDQ\FKZSOLNXG]LHQQLND
:DUWRR]QDF]DEUDNUHMHVWUDFMLZDUWRQDND]XMHUHMHVWURZDQLHSUDNW\F]QLHZV]\VW
NLFK ]GDU]H 8ZDJD X*\FLH ZDUWRFL SRZ\*HM  SRZRGXMH ]DXZD*DOQH VSRZROQLHQLH
pracy serwera.

5R]G]LD3U]HDGUHVRZ\ZDQLH

189

RewriteMap
5HZULWH0DSPDSDW[W_GEP_SUJ_UQG_LQWSOLN
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQH

Dyrektywa 5HZULWH0DSRNUHOD]HZQ
WU]Q\plik]DZLHUDMF\PDS
SRGVWDZLHDFX
FK\ X*\ZDQH GR SRGVWDZLH V XVWDODQH SRSU]H] RGQDOH]LHQLH Z SOLNX ]DGDQHJR NOXF]D
i odczytaniHRGSRZLDGDMFHMPXZDUWRFL)RUPDW]DS\WDQLDRZDUWRNOXF]DMHVWQDVW

SXMF\
 PDSDNOXF]_ZDUWRGRP\OQD

przy czym ZDUWRGRP\OQD jest ignorowana w przypadku nieznalezienia klucza. Typ


SOLNX ]DZLHUDMFHJR PDS
 SRGVWDZLH RNUHODQ\ MHVW GUXJLP SDUDPHWUHP G\UHNW\Z\
NWyU\PR*HPLHZDUWR
W[W

0DSDSRGVWDZLH]DSLVDQDMHVWZSRVWDFLSOLNXWHNVWRZHJR $6&,, 3OLNWDNLPR*H


]DZLHUDSXVWHZLHUV]HNRPHQWDU]H ZLHUV]H]DF]\QDMFHVL
RG]QDNX LRF]\ZL
cie wiersze danych w postaci
ZDUWRNOXF]DZDUWRSRGVWDZLDQD

GEP

SUJ

0DSD SRGVWDZLH ]DSLV\ZDQD MHVW Z SOLNX '%0 R VWUXNWXU]H UR]SURV]RQHM DQJ


DBM hashfile), czyli tzw. nowym formacie binarnym DBM (NDBM; format ten liF]\ VRELH REHFQLH MX* SRQDG  ODW L X*\ZDQ\ MHVW WH* GR SU]HFKRZ\ZDQLD GDQ\FK
X*\ZDQ\FKSU]H]PRGXauth_dbm). Plik taki zawiera te same dane, co opisana poSU]HGQLR UHSUH]HQWDFMD WHNVWRZD 'R MHJR XWZRU]HQLD PR*QD Z\NRU]\VWD NWyUH ]
doVW
SQ\FK Z V\VWHPLH QDU]
G]L GR ]DU]G]DQLD SOLNDPL ndbm, ewentualnie
dostarczany w pakiecie Apache skrypt dbmmanage.
:W\PSU]\SDGNXPDSDMHVWZ\ZR\ZDQ\PSU]H]VHUZHU$SDFKHSURJUDPHP SOL
NLHPZ\NRQ\ZDOQ\POXEVNU\SWHP&*, :DUWRNOXF]DSU]HND]\ZDQDMHVWGRVWDQ
GDUGRZHJRZHMFLDSURJUDPXMDNRDFXFK]DNRF]RQ\]QDNLHPQRZHJRZLHUV]DnaWRPLDVWZDUWRSRGVWDZLDQD]ZUDFDQDMHVWSRSU]H]VWDQGDUGRZHZ\MFLH:SU]\SDG
ku QLH]QDOH]LHQLDNOXF]D]ZUDFDQ\MHVWDFXFK 18//. Dokumentacja programu Apache zawiera trzy istotne uwagi dla programistw:

3URJUDPSRZLQLHQE\SURVW\ERZLHPMHJR]DDPDQLHNRF]\VL
]DZLHV]H
QLHPFDHJRVHUZHUD$SDFKH

2SHUDFMHZ\MFLRZHZ\NRU]\VWXMFHVWDQGDUGRZHZ\MFLHQLHPRJE\EX
IRURZDQHJG\*SURZDG]LWRGRSRZVWDQLDLPSDVX3URJUDP\SLVDQHZM
]\
NX&SRZLQQ\]DZLHUDLQVWUXNFM

VHWEXI VWGRXW18// 

]DSURJUDP\ZPerlu
VHOHFW 67'287 _ 

:\PLDQD GDQ\FK ] SURJUDPHP SRZLQQD E\ V\QFKURQL]RZDQD ]D SRPRF


SOLNXEORNDG\ VX*\GRWHJRG\UHNW\ZD5HZULWH/RFN).

Apache Przewodnik encyklopedyczny

190
UQG

LQW

0DSD SRGVWDZLH MHVW SU]HFKRZ\ZDQD Z W]Z randomizowanym pliku tekstowym


(ang. randomized plain text file )RUPDWWHQMHVW]EOL*RQ\GR]Z\NHJRIRUPDWXWHNV
WRZHJRZ\SRVD*RQ\MHVWMHGQDNZSHZQGRGDWNRZFHFK
RGV]XNDQDZDUWRNOX
F]D MHVW WUDNWRZDQD MDNR ]HVWDZ ZDUWRFL DOWHUQDW\ZQ\FK UR]G]LHORQ\FK ]QDNDPL
kreski pionowej (|). Jako wynik wyszukiwania zwracana jest losowo wybrana
ZDUWR]]HVWDZX5R]ZL]DQLHWDNLHZ\JOGDQDSR]yUDEVXUGDOQLHMHGQDNPDRQR
VZRMH]DVWRVRZDQLHMHVWQLPUyZQRZD*HQLHREFL*HQLDZSU]\SDGNXSUDF\$SDFKH
jako serwera odwrotnie SRUHGQLF]FHJR (ang. reverse proxy). W takiej sytuacji
przeszukiZDQDED]D]DZLHUDQD]Z\VHUZHUyZDND*GH*GDQLHSU]HV\DQHGRVHUZHUD
SRUHGQLF]FHJRMHVWNLHURZDQHGRORVRZRZ\EUDQHJRVHUZHUD]QDMGXMFHJRVL
]D
nim.
3RGVWDZLHQLDUHDOL]RZDQHVSU]H]ZHZQ
WU]QIXQNFM
VHUZHUD$SDFKH WRXSSHU
lub WRORZHU  )XQNFMH WH GRNRQXM NRQZHUVML SU]HND]DQHM ZDUWRFL QD Z\F]QLH
:,(/.,(OXEZ\F]QLHPDHOLWHU\

RewriteBase
5HZULWH%DVHED]RZ\DGUHV85/
8\FLHNDWDORJLSOLNLKWDFFHVV

Dyrektywa 5HZULWH%DVHMDZQLHXVWDODED]RZ\DGUHV85/X*\ZDQ\ZWUDQVODFMLDGUHVyZ
Z\NRQ\ZDQHMGODLQG\ZLGXDOQ\FKNDWDORJyZ&RSUDZGDWHQVDPHIHNWPR*QDRVLJQ
NRQVWUXXMFRGSRZLHGQL]HVWDZUHJXWUDQVODFMLMHGQDNF]DVDPLSURFLHMMHVWX*\UR]ZL
]DQLD ]ELRUF]HJR $GUHV\ SU]HND]\ZDQH GR UHJX WUDQVODFML XPLHV]F]RQ\FK Z SOLku
.htaccess SR]EDZLRQH V IUDJPHQWX ]DZLHUDMFHJR QD]Z
 NDWDORJX ORNDOQHJR WRWH*
SU]HWZDU]DQLHGRW\F]\Z\F]QLHSR]RVWDHMF]
FLDGUHVX3R]DNRF]HQLXSU]HWZDU]DQLD
do Z\QLNRZHJRDGUHVXGRF]DQ\MHVWSUHILNVXVWDORQ\]DSRPRFG\UHNW\Z\5HZULWH%DVH.
3U]\NDG]DF\WXMHP\]DGRNXPHQWDFMVHUZHUD$SDFKH
5HZULWH%DVH[\]
5HZULWH5XOHAROGVWXII?KWPOQHZVWXIIKWPO

:Z\QLNXZ\NRQDQLDSRZ\*V]\FK]DSLVyZ*GDQLHVNLHURZDQHGRDGUHVX/xyz/oldstuff.html
zostaje skierowane do fizycznego pliku /abc/def/newstuff.html.3 &D\ SURFHV SU]HELHJD
]DQDVW
SXMFR
1. 6HUZHURGELHUDRGZRDQLHGRDGUHVX/xyz/oldstuff.html.
2. $GUHV]RVWDMHZHZQ
WU]QLHSRGGDQ\QDVW
SXMF\PSU]HNV]WDFHQLRP
[\]ROGVWXIIKWPO

!

DEFGHIROGVWXIIKWPO

!

DEFGHIQHZVWXIIKWPO

!

[\]QHZVWXIIKWPO

!

DEFGHIROGVWXIIKWPO JOREDOQD
G\UHNW\ZD$OLDV
DEFGHIQHZVWXIIKWPO UHJXD
WUDQVODFMLZSOLNXKWDFFHVV
[\]QHZVWXIIKWPO G\UHNW\ZD
5HZULWH%DVHZSOLNXKWDFFHVV
DEFGHIQHZVWXIIKWPO JOREDOQD
G\UHNW\ZD$OLDV

3. Wynikiem translacji jest adres /abc/def/newstuff.html.


$E\XQLNQQLHSRUR]XPLHZDUWRMHV]F]H]DF\WRZDLQQ\IUDJPHQWGRNXPHQWDFML>@IL]\F]Q\P
NDWDORJLHPRGSRZLDGDMF\PFLH*FH/xyz jest /abc/defLQQ\PLVRZ\SOLNNRQILJXUDFMLVHUZHUD]DZLHUD
G\UHNW\Z
$OLDV[\]DEFGHISU]\SWXP
3

5R]G]LD3U]HDGUHVRZ\ZDQLH

191

RewriteCond
5HZULWH&RQGDxFXFKZ]RU]HF
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQHNDWDORJL

5HJXD WUDQVODFML ]GHILQLRZDQD G\UHNW\Z 5HZULWH5XOH PR*H E\ SRSU]HG]RQD MHGQ


lub kilkoma dyrektywami 5HZULWH&RQG RNUHODMF\PL ZDUXQNL NWyUH QDOH*\ VSHQL
DE\WUDQVODFMD]RVWDDZ\NRQDQD3DUDPHWUDFXFK zawiera specyfikacje zmiennych serwera zapisane w postaci ^1$=:$B=0,(11(-`  %LH*FD ZDUWR ]DGDQHM Z WHQ VSRVyE
]PLHQQHMSRUyZQ\ZDQDMHVW]Z\UD*HQLHPUHJXODUQ\P]DSLVDQ\PZSDUDPHWU]Hwzorzec;
MHOLSRUyZQDQLHZ\SDGQLHQLHSRP\OQLHWUDQVODFMD]DGDQDG\UHNW\Z5HZULWH5XOH nie
jest wykonywana.
1$=:$B=0,(11(- PR*HSU]\MPRZDMHGQ]SRQL*V]\FKZDUWRFL
$3,B9(56,21
3$7+B,1)2
$87+B7<3(
48(5<B675,1*
'2&80(17B5227
5(025(B$''5
(19GRZROQD]PLHQQD
5(027(B+267
+773B$&&(37
5(027(B86(5
+773B&22.,(
5(027(B,'(17
+773B)25:$5'('
5(48(67B),/(1$0(
+773B+267
5(48(67B0(7+2'
+773B352;<B&211(&7,21 5(48(67B85,
+773B5()(5(5
6&5,37B),/(1$0(
+773B86(5B$*(17
6(59(5B$'0,1
+773GRZROQHSROH
6(59(5B1$0(
,6B68%5(4
6(59(5B3257

6(59(5B35272&2/
6(59(5B62)7:$5(
7+(B5(48(67
7,0(
7,0(B'$<
7,0(B+285
7,0(B0,1
7,0(B021
7,0(B6(&
7,0(B:'$<
7,0(B<($5

=PLHQQHWHRGSRZLDGDMRNUHORQ\PSRORPQDJyZND+773]PLHQQ\PZNRG]LH(UyG
RZ\PSURJUDPX$SDFKHLZDUWRFLELH*FHJRF]DVX

RewriteRule
5HZULWH5XOHZ]RU]HFSRGVWDZLHQLH>RSFMH@
8\FLHNRQILJXUDFMDJyZQDVHUZHU\ZLUWXDOQHNDWDORJL

Dyrektywa 5HZULWH5XOH GHILQLXMH SRMHG\QF] UHJX


 WUDQVODFML L PR*H E\ X*\WD
dowolQ OLF]E
 UD]\ 7UDQVODFMD Z\NRQ\ZDQD MHVW SRWRNRZR WM NROHMQH UHJX\
VWRVRZDQH V GR SU]HWZRU]HQLD Z\QLNyZ X*\FLD SRSU]HGQLFK UHJX R]QDF]D WR *H
NROHMQR]DSLVXMHVWLVWRWQD 8*\FLHGDQHMZDUXQNRZDQHMHVWSRUyZQDQLHPDGUHVX85/
]Z\UD*HQLHPUHJXlarnym wzorzecMHOLSRUyZQDQLHZ\SDGQLHSR]\W\ZQLHGRNRQ\ZDQH
jest podstawienie ']LDDQLH UHJX\ PR*H E\ ]PRG\ILNRZDQH ]D SRPRF DUJXPHQWX
opcje, ktrego dopuszF]DOQH ZDUWRFL SRGDMHP\ SRQL*HM RSFMH PRJ E\ ]DSLV\ZDQH
UyZQLH*ZIRUPLHVNUyFRnej).
UHGLUHFW_5

Wymusza przeadresowanie.

Apache Przewodnik encyklopedyczny

192
SUR[\_3

.LHUXMH*GDQLHGRVHUZHUDSRUHGQLF]FHJR

ODVW_/

:\PXV]D]DNRF]HQLHSU]HWZDU]DQLD UHJXDWUDNWRZDQDMHVWMDNRRVWDWQLDZJUXSLH 

FKDLQ_&

-HOLZDUXQHNGDQHMUHJX\MHVWVSHQLRQ\SRZRGXMHZ\NRQDQLHQDVW
SQHMUHJX\ OXE
UHJX ZSU]HFLZQ\PSU]\SDGNXVRQHSRPLMDQH

W\SH_7 W\SPLPH

Wymusza dany typ MIME dla pliku docelowego.


QRVXEUHT_16

:\PXV]D SRPLQL
FLH GDQHM UHJX\ GOD SRG*GD JHQHURZDQ\FK ZHZQ
WU]QLH SU]H]
serwer.

HQY_( ]PLHQQDZDUWRQ

Definiuje ]PLHQQURGRZLVNRZQDGDMFMHMRNUHORQZDUWR.

TVDSSHQG_46$

1DND]XMHGRF]HQLHDFXFKD]DS\WDQLDGRSU]HWZDU]DQHJRDGUHVX

SDVVWKURXJK_37

:\PXV]DSRGVWDZLHQLHQD]Z\SOLNXGRSRODLGHQW\ILNDWRUD85,ZZHZQ
WU]QHMVWUX
NWXU]H RSLVXMFHM *GDQLH4 XPR*OLZLD WR SU]HWZDU]DQLH SU]HWXPDF]RQHJR DGUHVX
przez inne dyrektywy, np. $OLDV).

VNLS_6 OLF]ED

:\PXV]DSRPLQL
FLH]DGDQHMliczbyUHJX

QH[W_1

:\PXV]DSRQRZQHUR]SRF]
FLHSU]HWZDU]DQLDRGSLHUZV]HMUHJX\

JRQH_*

3RZRGXMH SU]HVDQLH RGSRZLHG]L +773 R NRG]LH  85/ *RQH  DGUHV ]RVWD
zlikwidowany).

IRUELGGHQ_)

3RZRGXMHSU]HVDQLHRGSRZLHG]L+773RNRG]LH 85/Forbidden brak zezZROHQLDQDGRVW


S 

'ODSU]\NDGX]Dy*P\*HFKFHP\SRGGDZDWUDQVODFMLDGUHV\85/SRVWDFL
-r]\Na1D]ZLVNR3OLN

do formy
X1D]ZD8\WNRZQLND3OLN-r]\N

=GHILQLRZDQ Z WHQ VSRVyE PDS


 SRGVWDZLH QDOH*\ ]DSLVD Z SOLNX /gdziestam/
mapa.podstawien,DQDVW
SQLHGRSLVDGRSOLNXNRQILJXUDFMLVHUZHUDQDVW
SXMFHZLHUV]H
5HZULWH/RJNDWDORJUHZULWHORJ
5HZULWH0DSUHDOWRXVHUW[WJG]LHVWDPPDSDSRGVWDZLHQ
5HZULWH5XOHA >A@ a >A@   
X^UHDOWRXVHU_QRERG\`

2SLVXMFD*GDQLHVWUXNWXUDUHTXHVWBUHFMHVWRPyZLRQDZUR]G]LDOHSU]\SWXP

5R]G]LD3U]HDGUHVRZ\ZDQLH

193

3U]\NDG]DVWRVRZDQLDWUDQVODFMLDGUHVyZ
3UDFRZQLF\G]LDXKDQGORZHJRILUP\%XWWHUWKOLHV3ROVNDVROLGQLHSU]\NDGDMVL
GRSUD
F\DZDFKODU]RIHURZDQ\FKSURGXNWyZUR]UyVVL
GRWHJRVWRSQLD*HVWDU\NDWDORJZSR
VWDFLSRMHG\QF]HMVWURQ\ZM
]\NX+70/MHVWMX*GODQLFK]DFLDVQ\,QIRUPDW\F\ILUP\
VWZRU]\OL]DWHPED]
GDQ\FK]DZLHUDMFLQIRUPDFMHRSRF]WyZNDFKNWyUHPR*QDSRELH
UD]DSRPRFSURVWHJRSURJUDPXcardinfoZ\ZR\ZDQHJRZVSRVyEQDVW
SXMF\
FDUGLQIRQXPHUSDUDPHWU

gdzie numerWRQXPHUZ]RUXSRF]WyZNL]DparametrPR*HSU]\MPRZDZDUWRFHQD
DXWRUOXEUR]PLDU1LHVWHW\QDVLKDQGORZF\V]E\W]DM
FLLQQ\PLVSUDZDPLE\]DZ
UDFDVRELHJRZ
]DSDPL
W\ZDQLHPVNDGQLWRWH*SRVWDQRZLRQRXDWZLLP*\FLHLXPR
*OLZLRGZR\ZDQLHVL
GRED]\]DSRPRFRGSRZLHGQLRVIRUPXRZDQ\FKDGUHVyZ85/
,WDNRGZRDQLH GR DGUHVXhttp://sales.butterthlies.com.pl/info/2949/cena powinno zwrFLFHQ
NDUWNLRQXPHU]HZ]RUX2GSRZLHGQLSOLNNRQILJXUDFMLVHUZHUD]QDMG]LHV]
w katalogu site.rewrite:
8VHUZHEXVHU
*URXSZHEJURXS
$SDFKHZ\PDJDSRGDQLDQD]Z\VHUZHUDFKRFLDWXWDMQLHMHVW
X\ZDQD3RGDQDQD]ZDMHVWX\ZDQDGRP\OQLHGODVHUZHUyZQLH
RGSRZLDGDMF\FKVHNFML9LUWXDO+RVW
6HUYHU1DPHZZZEXWWHUWKOLHVFRPSO
1DPH9LUWXDO+RVW
9LUWXDO+RVWZZZEXWWHUWKOLHVFRPSO!
6HUYHU$GPLQVDOHV#EXWWHUWKOLHVFRPSO
'RFXPHQW5RRWXVUZZZVLWHUHZULWHKWGRFVFXVWRPHUV
6HUYHU1DPHZZZEXWWHUWKOLHVFRPSO
(UURU/RJXVUZZZVLWHUHZULWHORJVFXVWRPHUVHUURUBORJ
7UDQVIHU/RJXVUZZZVLWHUHZULWHORJVFXVWRPHUVDFFHVVBORJ
9LUWXDO+RVW!
9LUWXDO+RVWVDOHVEXWWHUWKOLHVFRPSO!
6HUYHU$GPLQVDOHVBPJU#EXWWHUWKOLHVFRPSO
'RFXPHQW5RRWXVUZZZVLWHUHZULWHKWGRFVVDOHVPHQ
2SWLRQV([HF&*,LQGH[HV
6HUYHU1DPHVDOHVEXWWHUWKOLHVFRPSO
(UURU/RJXVUZZZVLWHUHZULWHORJVVDOHVPHQHUURUBORJ
7UDQVIHU/RJXVUZZZVLWHUHZULWHORJVVDOHVPHQDFFHVVBORJ
5HZULWH(QJLQHRQ
5HZULWH/RJORJVUHZULWH
5HZULWH/RJ/HYHO
5HZULWH5XOHALQIR >A@  >A@ FJLELQFDUGLQIR">37@
6FULSW$OLDVFJLELQXVUZZZFJLELQ
9LUWXDO+RVW!

Prawdziwy program cardinfoE\E\]DSHZQHFDNLHPVNRPSOLNRZDQ\PQDU]


G]LHPMHG
QDNZQDV]\PZLF]HQLXSRVX*\P\VL
EDQDOQLHSURVWDWUDS
ELQVK

HFKRFRQWHQWW\SHWH[WKWPO
HFKR
HFKR=DS\WDHRSDUDPHWUGODSRF]WyZNL

Apache Przewodnik encyklopedyczny

194

$E\QLHSR]RVWDZLDQLF]HJRSU]\SDGNRZLSU]HGZ\SUyERZDQLHPQDV]HJRV\VWHPXZ\
F]P\WUDQVODFM
G\UHNW\Z5HZULWH(QJLQHRII3UyEDRGZRDQLDVL
GRDGUHVX http://
sales.butterthlies.com.pl/info/2949/cena SRZLQQDZWDNLHMV\WXDFML]DNRF]\VL
NRPXQL
katem
7KHUHTXHVWHG85/LQIRFHQDZDVQRWIRXQGRQWKLVVHUYHU

I QLF G]LZQHJR :F]P\ WHUD] WUDQVODFM


 DGUHVyZ G\UHNW\Z 5HZULWH(QJLQH RQ i
przyjU]\MP\ VL
 NOXF]RZHPX HOHPHQWRZL FDHJR PHFKDQL]PX NWyU\P MHVW QDVW
SXMF\
wiersz w pliku konfiguracji serwera:
5HZULWH5XOHALQIR >A@  >A@ FJLELQFDUGLQIR">37@

: OXG]NLP M
]\NX ]QDF]\ WR PQLHM ZL
FHM W\OH V]XNDMF RG SRF]WNX DFXFKD ]QDMG(
FLJ ]QDNyZ LQIR SR NWyU\P QDVW
SXMH MHGHQ OXE ZL
FHM ]QDNyZ Uy*Q\FK RG 
i wstaw te znaki do zmiennej  RSHUDFM
W
UHDOL]XMQDZLDV\GODSLHUZV]HJRLFK]HVWD
ZXX*\ZDQDMHVW]PLHQQD  1DVW
SQLHZ\V]XNDM]QDNDSRQLPNROHMQ\FLJ]QD
NyZUy*Q\FKRGLZVWDZMHGR]PLHQQHM :\V]XNDMNRQLHFDFXFKDLSU]HND*Z\
QLN FDHM RSHUDFML FR QDND]XMH RSFMD >37@  GR QDVW
SQHM G\UHNW\Z\ NWyU MHVW
6FULSW$OLDV)LQDOQ\HIHNWFDHMWHMRSHUDFMLSRZLQLHQGDRGZRDQLHGRDGUHVXhttp://
sales.butterthlies.com.pl/cgi-bin/cardinfo?<numer>+<parametr>.
*G\E\VNU\SW]MDNLFKSRZRGyZ]QDMGRZDVL
QDLQQ\PVHUZHU]H:::QDV]DUHJXD
PLDDE\SRVWD
5HZULWH5XOHALQIR >A@  >A@ KWWSJG]LHVWDPFRPFJLELQ
FDUGLQIR">37@

=DXZD*P\SU]\W\P*HSRZ\*V]\Z]RU]HFQLHE
G]LHRGSRZLDGDDFXFKRZL/info/123/
cena/pawelJG\*WHQRVWDWQL]DZLHUD]E\WZLHOH]QDNyZ
Po uruchomieniu serwera poleceniem JR L RGZRDQLX VL
 ]D SRPRF SU]HJOGDUNL GR
adresu http://sales.butterthlies.com.pl/info/2949/cenaSRZLQQLP\X]\VNDRGSRZLHG(
=DS\WDHRSDUDPHWUFHQDGODSRF]WyZNL

Korygowanie adresw
3DNLHW$SDFKH]DZLHUDMHV]F]HMHGHQX*\WHF]Q\PRGXRQD]ZLHmod_speling58PR*OLwia
RQ DXWRPDW\F]QH SRSUDZLDQLH SLVRZQL ZLHONLFK L PD\FK OLWHU X]XSHQLDQLH RSXV]F]R
Q\FK]QDNyZ]DPLDQ
]QDNyZE
GQLHZSLVDQ\FKLSRSUDZLDQLHSU]HVWDZLH W]ZF]HV
NLFKE
GyZ ZF]
FLDFKDGUHVyZ85/RGQRV]F\FKVL
GRSOLNyZLNDWDORJyZ RGE\
ZDVL
WRSRSU]H]RGQRV]HQLHQD]ZGR]DZDUWRFLV\VWHPXSOLNyZ 0RGXmod_speling
QLHNRU\JXMH(OHSRGDQ\FKQD]ZX*\WNRZQLNyZ

CheckSpelling
&KHFN6SHOOLQJRQ_RII
:DUWRGRP\OQDRII
8\FLHZV]rG]LH

7DNWRQLHSRP\ND3RGHMU]HZDP\*HWRMHV]F]HMHGHQSU]HMDZKXPRUXSURJUDPLVWyZ spelling
(przez dwaO  SRSUDZLDQLHE
GyZSLVRZQLSU]\SWXP 

Você também pode gostar