Autorzy: Ben Laurie, Peter Laurie
T³umaczenie: Tomasz M. Sadowski
ISBN: 83-7197-181-8
Format: B5, 408 stron
Zawiera CD-ROM
Przesy³ka gratis! Odbiorca pokrywa jedynie koszty pobrania (2,70 z³)
w przypadku przesy³ki za zaliczeniem pocztowym
Ksi¹¿ka ta stanowi kompendium wiedzy o najpopularniejszym serwerze WWW
na œwiecie. Przedstawione w niej przyk³ady umo¿liwi¹ œwie¿o upieczonym
administratorom serwerów WWW b³yskawiczne nabranie wprawy w zarz¹dzaniu
serwerem. Doœwiadczeni administratorzy i programiœci tworz¹cy skrypty CGI
znajd¹ tu wiele cennych, szczegó³owych informacji natury encyklopedycznej,
zaœ dla programistów systemowych przeznaczone s¹ rozdzia³y o interfejsie
programowym i tworzeniu modu³ów..............................................................................
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
Apache przewodnik encyklopedyczny
Apache przewodnik encyklopedyczny
Zobacz przyk³adowy rozdzia³
Spis treœci
Je¿eli znasz tê ksi¹¿kê oceñ j¹
Ksi¹¿ki i "3D" Online
Aktualny cennik ksi¹¿ek e-mailem
Zamów najnowszy katalog
Informacje o nowoœciach e-mailem
© Helion 2000
8
Przeadresowywanie
0DáRFRZ*\FLX]QDMGXMHVLQDZáDFLZ\PPLHMVFXZHZáDFLZ\PF]DVLH7HQVPXWQ\
wniosek dotyczy nie tylko serwerów WWW, ale i wszelkich innych rzeczy, które nas ota-
F]DM$E\SRUDG]LüVRELH]W\PSUREOHPHPDGPLQLVWUDWRUPDGRG\VSR]\FMLG\UHNW\Z\
$OLDV
i
5HGLUHFW
SR]ZDODMFH NLHURZDü QDGFKRG]FH *GDQLD QD LQQH WRU\ EG( WR
w
REUELHV\VWHPXSOLNyZVHUZHUDEG(ZLQQHPLHMVFDVLHFL&R SUDZGDZLGHDOQ\FK
wa
UXQNDFK QLH SRZLQQR WR E\ü NRQLHF]QH MHGQDN Z SUDNW\FH PR*OLZRü Srzenoszenia
doku
PHQWyZ GR LQQ\FK NDWDORJyZ ± D QDZHW QD LQQH VHUZHU\ ± EH] NRQLHF]QRFL
SRSUDZLDQLD FDáHM VWUXNWXU\ áF] MHVW F]VWR EDUG]R SR*GDQD
1
. Bardziej uzasadnionym
praktycznie zas
WRVRZDQLHP 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]QDMGRZDüVLZ systemach plików montowanych jako zdalne (sieciowe). W
takiej sytuacji dyrektywa
$OLDV
SR]ZDOD]DSURZDG]LüZLFKVWUXNWXU]HSHZLHQSRU]GHN
Dyrektywa
6FULSW$OLDV
XPR*OLZLDXUXFKDPLDQLHVNU\SWyZ&*,EH]NWyU\FKQLHZLHOH
ZLWU\QE\áRE\ZVWDQLHIXQNFMRQRZDü$OWHUQDW\ZXGRVWSQLDMFZV]\VWNLHPR*OLZRFL
dyrektywy
6FULSW$OLDV
L VSRUR ZLFHM MHVW QRZD G\UHNW\ZD
5HZULWH
NWyU
RPyZLP\ Z GDOV]HM F]FL UR]G]LDáX 8*\FLH WHM RVWDWQLHM Z\PDJD QLHVWHW\ ZáR*HQLD
SHZQHJRZ\VLáku w zaprogramowanie kilku rzeczy.
Dyrektywa
6FULSW$OLDV
MHVWVWRVXQNRZRSURVWDZX*\FLXDOH]GUXJLHMVWURQ\VWDQRZL
SU]\NáDG ÄPRGXáRZHMDOHQLHGRNRFD´ VWUXNWXU\ VHUZHUD $SDFKH &KRFLD*
6FULSW$OLDV
jest zdefiniowana w module mod_alias.c
LPSOHPHQWXMF\ M NRG
RGZRáXMHVLGRLQVWUXNcji zawartych w module mod_cgi.cHZHQWXDOQLHLQQHJRPRGXáX
REVáXJXMFHJRLQWHUIHMV&*,)XQNFMH]DZDUWHZPRGXOHmod_alias]DSHZQLDMMHGHQ]
PHFKDQL]PyZREVáXJXMF\FKG]LDáDQLHVNU\SWyZ&*,]DVDPPRGXáZáF]DQ\MHVWGR
kodu serwera automatycznie podczas kompilacji.
Plik konfiguracji serwera zawarty w katalogu …site/alias
PDQDVWSXMFSRVWDü
8VHUZHEXVHU
*URXSZHEJURXS
6HUYHU1DPHZZZEXWWHUWKOLHVFRPSO
1DPH9LUWXDO+RVW
9LUWXDO+RVWZZZEXWWHUWKOLHVFRPSO!
1
3DPLWDMP\*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¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQH
= G\UHNW\Z
6FULSW$OLDV
PLHOLP\ MX* GR F]\QLHQLD Z UR]G]LDOH 8PR*OLZLD RQD
XPLHV]F]HQLHVNU\SWyZZNDWDORJXSRáR*RQ\P]GDODRGZFLEVNLFKRF]XLSDOFyZDSR
QDGWRDXWRPDW\F]QLHR]QDF]DWHQ*HNDWDORJMDNR]DZLHUDMF\VNU\SW\&*,
ScriptAliasMatch
6FULSW$OLDV0DWFKZ\UD¢HQLHUHJXODUQHNDWDORJOXESOLN
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQH
'\UHNW\ZDWDG]LDáDSRGREQLHMDN
6FULSW$OLDV
]WUy*QLF*HRGHEUDQ\DGUHV85/
MHVWSRUyZQ\ZDQ\]Z\UD*HQLHPUHJXODUQ\P:SU]\SDGNXVWZLHUG]HQLD]JRGQRFLIUDJ
PHQW\ DGUHVX RGSRZLDGDMFH ]DZDUWRFL QDZLDVyZ V SRGVWDZLDQH GR QD]Z\ katalogu,
a
X]\VNDQ\ZWHQVSRVyEáDFXFKWUDNWRZDQ\MHVWMDNQD]ZDSOLNX$E\QSVNLHURZDüRG
ZRáDQLHGRVWDQGDUGRZHJRNDWDORJX/cgi-binPR*HP\]DSLVDü
6FULSW$OLDV0DWFKAFJLELQXVUORFDODSDFKHFJLELQ
Alias
$OLDVSUHILNV85/NDWDORJ
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQH
Dyrektywa
$OLDV
SR]ZDOD QD SU]HFKRZ\ZDQLH GRNXPHQWyZ Z PLHMVFX LQQ\P QL*
JáyZQ\NDWDORJGRNXPHQWyZRNUHORQ\G\UHNW\Z
'RFXPHQW5RRW
:UDPDFKSU]\NáDGX
mo
*HP\ XWZRU]\ü NDWDORJ R QD]ZLH /usr/www/somewhere_else L XPLHFLü Z QLP SOLN
lost.txt
]DZLHUDMF\SURVW\NRPXQLNDW
=JXELñHPVLr
7HUD]QDOH*\SRGGDüHG\FMLSOLNhttpd.confX]\VNXMFZHIHNFLHFRWDNLHJR
7UDQVIHU/RJXVUZZZVLWHDOLDVORJVFXVWRPHUVDFFHVVBORJ
$OLDVJG]LHLQG]LHMXVUZZZVRPHZKHUHBHOVH
9LUWXDO+RVW!
Po uruchomieniu serwera poleceniem
JR
RGZRáDQLH
GR
DGUHVX
http://www.butterthlies.com.pl/ gdzieindziej
SRZLQQRGDüQDVWSXMF\Z\QLN
5R]G]LDá3U]HDGUHVRZ\ZDQLH
185
,QGH[RIVRPHZKHUHBHOVH
3DUHQW'LUHFWRU\
ORVWW[W
.OLNQLFLH áF]D
3DUHQW 'LUHFWRU\
VSRZRGXMH SRZUyW GR JáyZQHJR NDWDORJX GRNX
mentów (
'RFXPHQW5RRW
) witryny, czyli /usr/www/site.alias/htdocs/customers, a nie, jak
PR*QDE\áRE\SU]\SXV]F]DüNDWDORJX/usr/www']LHMHVLWDNGODWHJRL*á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]DSRPQLHOLMHVW
IDNW *H MHOL Z JáyZQ\P NDWDORJX GRNXPHQWyZ ZLWU\Q\ http://www.butterthlies.com.pl
QLH XPLHFLP\ SOLNX index.html DXWRPDW\F]QLH Z\JHQHURZDQ\ LQGHNV QLH EG]LH
]DZLHUDáNDtalogu gdzie_indziej.
3DPLWDMUyZQLH*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\UD¢HQLHUHJXODUQHNDWDORJ
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQH
Dyrektywa ta jest analogiczna do
$OLDV
-HG\QUy*QLFMHVWSLHUZV]\SDUDPHWUGDQ\QLH
NRQNUHWQ\PIUDJPHQWHPQD]Z\DZ\UD*HQLHPUHJXODUQ\P
UserDir
8VHU'LUNDWDORJ
:DUWR± GRP\±OQDSXEOLFBKWPO
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQH
']LDáDQLH G\UHNW\Z\
8VHU'LU
RPyZLP\ QD SU]\NáDG]LH =Dáy*P\ *H NOLHQW *GD
GRVWSX GR GDQ\FK SRáR*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 WáXPDF]\ VL MDNR ÄNDWDORJ PDFLHU]\VW\ 3DZáD
na serwerze identyfikowanym w
systemie DNS jako www.butterthlies.com.pl”.
Dyrektywa
8VHU'LU
pozwala zdefinio
ZDüIDNW\F]Q\SRGNDWDORJNDWDORJXPDFLHU]\VWHJR
X*\WNRZQLND X*\ZDQ\ SRGF]DV REVáXgi *GDQLD GRVWSX GR GRNXPHQWX SRGDQHJR Z
IRUPDFLHSU]HGVWDZLRQ\PSRZ\*HM3DUDmetr katalogPR*H]DZLHUDü
•
QD]ZOXEZ]RU]HFQD]Z\NDWDORJXMDNSRGDQRZSU]\NáDGDFKSRQL*HM
•
VáRZR 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
OLFLH
HQDEOHG
;
•
VáRZRNOXF]RZH
GLVDEOHG
LOLVWQD]ZX*\WNRZQLNyZUR]G]LHORQ\FK]QDNDPLVSD
FML/LVWDWDRNUHODQD]Z\X*\WNRZQLNyZGODNWyU\FKRGZ]RURZ\ZDQLHQLHEG]LH
wykonywane nawet
ZSU]\SDGNXLFKXPLHV]F]HQLDQDOLFLH
HQDEOHG
;
Apache – Przewodnik encyklopedyczny
186
•
VáRZRNOXF]RZH
HQDEOHG
LOLVWQD]ZX*\WNRZQLNyZUR]G]LHORQ\FK]QDNDPLVSDFML
/LVWD WD RNUHOD QD]Z\ X*\WNRZQLNyZ GOD NWyU\FK RGZ]RURZ\ZDQLH EG]LH
dokony
ZDQHPLPRJOREDOQHJR]DND]XXVWDQRZLRQHJRVáRZHP
GLVDEOHG
.
-H*HOLG\UHNW\ZD
8VHU'LU
QLH]DZLHUDVáRZD
GLVDEOHG
ani
HQDEOHG
, jej parametr inter-
SUHWRZDQ\MHVWMDNRZ]RU]HFQD]Z\SOLNXX*\ZDQ\GRWáXPDF]HQLDQD]Z\X*\WNRZQLND
na
VSHF\ILNDFM NDWDORJX 2WR NLOND SU]\NáDGyZ WáXPDF]HQLD DGUHVX 85/
http://www.firma.com/ ~pawel/raz/dwa.html:
8VHU'LUSXEOLFBKWPO
!aSDZHOSXEOLFBKWPOUD]GZDKWPO
8VHU'LUXVUZHE
!XVUZHESDZHOUD]GZDKWPO
8VHU'LUKRPHZZZ
!KRPHSDZHOZZZUD]GZDKWPO
=NROHLSRQL*V]HX*\FLHSRQL*V]\FKG\UHNW\ZVSRZRGXMHSU]HVáDQLHGRNOLHQWDSROHFHQLD
przeadresowania (redirect):
8VHU'LUKWWSZZZILUPDFRPELXUR!
KWWSZZZILUPDFRPELXURSDZHOUD]GZDKWPO
8VHU'LUKWWSZZZILUPDFRPXVU!
KWWSZZZILUPDFRPSDZHOXVUUD]GZDKWPO
8VHU'LUKWWSZZZILUPDFRPa!
KWWSZZZILUPDFRPaSDZHOUD]GZDKWPO
8*\FLHG\UHNW\Z\
8VHU'LU
Z\PDJDMHGQDNUR]ZDJLSU]\NáDGRZR]DSLV
8VHU'LU
spowoduje odwzorowanie na adres „/” katalogu /~root
F]HJRUDF]HMQDOH*\XQLNDü8*\W
NRZQLNRP VHUZHUD $SDFKH Z ZHUVML OXE QRZV]HM XVLOQLH ]DOHFD VL XPLHV]F]HQLH
w pliku konfiguracji serwera dyrektywy
8VHU'LUGLVDEOHGURRW
.
:HUVMD$SDFKHSU]H]QDF]RQDGOD:LQGRZVQLH]QDSRMFLDNDWDORJXPDFLHU]\VWHJRX*\W
NRZQLNDWRWH*RGZ]RURZDQLDNLHUXMFHRGZRáDQLHGRWDNLHJRNDWDORJX]REDF]SLHUZV]\
SU]\NáDGQLHEGG]LDáDá\SRSUDZQLH
Redirect
5HGLUHFWSUHILNV85/85/
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQHNDWDORJLSOLNL
KWDFFHVV
Dyrektywa
5HGLUHFW
NLHUXMHRGZRáDQLHGRDGUHVX85/SRGLQQ\DGUHV
RedirectMatch
5HGLUHFW0DWFKZ\UD¢HQLHUHJXODUQH85/
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQH
']LDáDQLHG\UHNW\Z\
5HGLUHFW0DWFK
jest analogiczne do
5HGLUHFW
, jednak pierwszy
SDUDPHWUMHVWZW\PSU]\SDGNXGDQ\Z\UD*HQLHPUHJXODUQ\P
=QLHMDNSU]\NURFLPXVLP\VWZLHUG]Lü*HSUDFRZQLF\G]LDáXKDQGORZHJRQDV]HMILUP\
RGSHZQHJRF]DVXQDGX*\ZDOLVZRLFKSU]\ZLOHMyZLSRVLDGDQ\FK]DVREyZ:]ZL]NX
z
W\P SU]HáR*HQL SRVWDQRZLOL GDü LP QDXF]N ]DEUDQLDMF LP GRVWSX GR Uy*Q\FK
VáRGNLFK VHNUHWyZ ]DSLVDQ\FK Z SOLNX sekrety L RGV\áDMF LFK Z ]DPLDQ GR SXEOLF]QLH
GRVWSQHMVWURQ\SU]H]QDF]RQHMGODNOLHQWyZ&y*]DXSRNRU]HQLH$OH]URELüWRáDWZR
Z\VWDUF]\SRSUDZLüSOLNhttpd.confGRQDVWSXMFHMSRVWDFL
9LUWXDO+RVWVDOHVEXWWHUWKOLHVFRPSO!
6HUYHU$GPLQVDOHVBPJU#EXWWHUWKOLHVFRPSO
5HGLUHFWVHNUHW\KWWSZZZEXWWHUWKOLHVFRPSO
WIN32
5R]G]LDá3U]HDGUHVRZ\ZDQLH
187
'RFXPHQW5RRWXVUZZZVLWHDOLDVKWGRFVVDOHVPHQ
Dyrektywa
5HGLUHFW
PR*HE\üSRáR*RQDZGRZROQ\PPLHMVFXZREUELHRGSRZLHGQLH
go bloku
9LUWXDO+RVW!
-HOL WHUD] VSUyEXMHV] RGZRáDü VL GR DGUHVX 85/ http://
sales.butterthlies.com.pl/sekrety
]RVWDQLHV] VNLHURZDQ\ ÄREMD]GHP´ QD VWURQ SU]H]QD
F]RQGODNOLHQWyZ±http://www.butterthlies.com.pl.
%DUG]RLVWRWQUy*QLFSRPLG]\G\UHNW\ZDPL
$OLDV
i
5HGLUHFW
MHVWWR*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\FKVLZSRbranym dokumencie.
Translacja adresów URL
:SLHUZV]HMF]FLUR]G]LDáX]DMOLP\VLPRGXáHPmod_alias.cLMHJRSU]\OHJáRFLDPL
=HVWDZ IXQNFML PRGXáX alias D WDN*H ZLHOH LQQ\FK PR*OLZRFL LPSOHPHQWXMH LQQ\
PRGXá mod_rewrite.c -HVW WR ]ZDUW\ ]ELyU SURFHGXU EGF\ VDP Z VRELH QLHPDO*H
kompletnym programem
2
'RNáDGQDLREV]HUQDGRNXPHQWDFMDPRGXáXGRVWSQDMHVWSRG
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\VLMHG\QLHGRRJyOQHJRRPyZLHQLDPR*OLZRFLLIXQNFMLPRGXáX
Dyrektywa
5HZULWH
porównuje adres URL z tzw. wzorcem translacji (ang. rewriting
pattern
:SU]\SDGNXVWZLHUG]HQLD]JRGQRFLZ]RUFDLDGUHVXWHQRVWDWQLMHVWQDVWSQLH
WáXPDF]RQ\ SU]HSLV\ZDQ\ SRSU]H] podstawienie translacyjne (ang. rewriting
substitution
:]RU]HFWUDQVODFMLGDQ\MHVW]Z\NOHSURVW\PZ\UD*HQLHPUHJXODUQ\PMDN
np. zapis
PRG?F
RGSRZLDGDMF\GRZROQHMQD]ZLHPRGXáX7HRULDLSUDNW\NDX*\FLD
Z\UD*HUHJXODUQ\FKMHVWGRüREV]HUQDWRWH*]DLQWHUHVRZDQ\FK&]\WHOQLNyZRGV\áDP\
do dokumentu …/src/regex/regex.7
MHVWWRVWURQDSRGUF]QLNDV\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 (O’Reilly & Associates). W
RJURPQ\P VNUyFLH PR*QD SRZLHG]LHü *H Z\UD*HQLD UHJXODUQH SR]ZDODM QD WZRU]HQLH
wzorców, zbudowa
Q\FK]RNUHORQHJR]HVWDZX]QDNyZVSHFMDOQ\FKLZ\NRU]\VW\ZDQ\FK
do porównywania z fragmentami przekazywanych przez klienta adresów URL.
: SRGVWDZLHQLDFK PR*QD Z\NRU]\VW\ZDü IXQNFMH RGZ]RURZXMFH SRELHUDMFH
IUDJPHQW\DGUHVyZLSRUyZQXMFHMH]]DZDUWRFLED]GDQ\FKDQDZHWSU]HNV]WDáFDMFH
je za pomo
F LQQ\FK SURJUDPyZ 3URFHV WáXPDF]HQLD DGUHVX PR*H E\ü SURZDG]RQ\
LWHUDF\MQLH OXE UHNXUHQF\MQLH ZHGáXJ GRNXPHQWDFML PR*OLZH MHVW WZRU]HQLH ÄSWOL
WáXPDF]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*MHJRRSDQRZDQLHQDGURG]HWHRUHW\F]QHM
MHVW QDMSUDZGRSRGREQLHM QLHPR*OLZH :\GDMH VL ZUF] L* *DGHQ ] SUREOHPyZ
]ZL]DQ\FK]RPDZLDQ\PSU]H]QDVWHPDWHPQLHMHVWGODmod_rewriteQLHUR]ZL]\ZDOQ\
2
1LH]PLHQLDWRIDNWX*HSURVWH]DGDQLDáDWZLHMMHVWUHDOL]RZDüZRSDUFLXRG\UHNW\Z$OLDV i jej dodatki.
Apache – Przewodnik encyklopedyczny
188
]DNáDGDMFRF]\ZLFLH*HSURJUDPLVWDEG]LHZVWDQLHZáR*\üZUR]ZL]DQLHRGSRZLHGQL
Z\VLáHNLQWHOHNWXDOQ\
=DVWRVRZDQLDPRGXáXmod_rewriteVSURZDG]DMVLGRF]WHUHFKG]LHG]LQ
•
8*\FLDJRSU]H]DGPLQLVWUDWRUDVHUZHUDZSOLNXhttpd.confZNRQWHNFLHJáyZQ\P
=GHILQLRZDQHWDNUHJXá\PDM]DVWRVRZDQLHGRZV]\VWNLFKDGUHVyZREVáXJLZDQ\FK
SU]H] VHUZHU áF]QLH ] DGUHVDPL ]QDMGXMF\PL VL Z GRPHQLH VHUZHUyZ
wirtualnych.
•
8*\FLDJRSU]H]DGPLQLVWUDWRUDVHUZHUDZEORNDFK
9LUWXDO+RVW!
. Zdefiniowane
WDNUHJXá\VWRVXMVLW\ONRGRDGUHVyZ]ZL]DQ\FK]GDQ\PVHUZHUHPZLUWXDOQ\P
•
8*\FLDJRSU]H]DGPLQLVWUDWRUDZEORNDFK
'LUHFWRU\!
7DN]GHILQLRZDQHUHJXá\
RGQRV]VLZ\áF]QLHGRGDQHJRNDWDORJX
•
6WRVRZDQLD JR SU]H] X*\WNRZQLNyZ Z LFK ZáDVQ\FK SOLNDFK .htaccess.
=GHILQLRZDQHWDNUHJXá\RGQRV]VLZ\áF]QLHGRGDQHJRNDWDORJX
6DPHG\UHNW\Z\QLHVVNRPSOLNRZDQHRPDZLDP\MHSRQL*HM
RewriteEngine
5HZULWH(QJLQHRQ_RII
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQHNDWDORJLSOLNLKWDFFHVV
Dyrektywa
5HZULWH(QJLQH
ZáF]D
RQ
LZ\áF]D
RII
) mechanizm translacji adresów.
8*\FLHSDUDPHWUX
RII
FDáNRZLFLHEORNXMHWUDQVODFM=DPLDVWZ\áF]DüSRV]F]HJyOQHUH
JXá\SRSU]H]ZVWDZLDQLHGRZLHUV]\
5HZULWH5XOH
]QDNyZNRPHQWDU]DOHSLHMMHVWZ\á
F]\üWUDQVODFMFDáNRZLFLHG\UHNW\Z
5HZULWH(QJLQHRII
.
RewriteLog
5HZULWH/RJSOLN
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQH
'\UHNW\ZD WD RNUHOD QD]Z SOLNX Z NWyU\P UHMHVWURZDQH EG ]GDU]HQLD ]ZL]DQH
z transla
FMDGUHVyZ85/1D]Z\QLHUR]SRF]\QDMFHVLRG]QDNXXNRQLNDÄ´VWUDN
WRZDQHMDNRZ]JOGQHZVWRVXQNXGRJáyZQHJRNDWDORJXVHUZHUD
6HUYHU5RRW
). Dyrek-
W\ZDWDSRZLQQDZ\VWSRZDüZSOLNXNRQILJXUDFMLVHUZHUDW\ONRUD]
RewriteLogLevel
5HZULWH/RJ/HYHOOLF]ED
:DUWR± GRP\±OQD
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQH
'\UHNW\ZDWDRNUHODSR]LRPV]F]HJyáRZRFLGDQ\FKUHMHVWURZDQ\FKZSOLNXG]LHQQLND
:DUWRüR]QDF]DEUDNUHMHVWUDFMLZDUWRüQDND]XMHUHMHVWURZDQLHSUDNW\F]QLHZV]\VW
NLFK ]GDU]H 8ZDJD X*\FLH ZDUWRFL SRZ\*HM SRZRGXMH ]DXZD*DOQH VSRZROQLHQLH
pracy serwera.
5R]G]LDá3U]HDGUHVRZ\ZDQLH
189
RewriteMap
5HZULWH0DSPDSDW[W_GEP_SUJ_UQG_LQWSOLN
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQH
Dyrektywa
5HZULWH0DS
RNUHOD]HZQWU]Q\plik]DZLHUDMF\PDSSRGVWDZLHàDFX
FK\X*\ZDQHGRSRGVWDZLHVXVWDODQHSRSU]H]RGQDOH]LHQLHZSOLNX]DGDQHJRNOXF]D
i odczytani
HRGSRZLDGDMFHMPXZDUWRFL)RUPDW]DS\WDQLDRZDUWRüNOXF]DMHVWQDVW
SXMF\
PDSDNOXF]_ZDUWR± GRP\±OQD
przy czym
ZDUWRüGRP\OQD jest ignorowana w przypadku nieznalezienia klucza. Typ
SOLNX ]DZLHUDMFHJR PDS SRGVWDZLH RNUHODQ\ MHVW GUXJLP SDUDPHWUHP G\UHNW\Z\
NWyU\PR*HPLHüZDUWRü
W[W
0DSDSRGVWDZLH]DSLVDQDMHVWZSRVWDFLSOLNXWHNVWRZHJR$6&,,3OLNWDNLPR*H
]DZLHUDüSXVWHZLHUV]HNRPHQWDU]HZLHUV]H]DF]\QDMFHVLRG]QDNXLRF]\ZL
cie wiersze danych w postaci
ZDUWR± NOXF]DZDUWR± SRGVWDZLDQD
GEP
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 li-
F]\ VRELH REHFQLH MX* SRQDG ODW L X*\ZDQ\ MHVW WH* GR SU]HFKRZ\ZDQLD GDQ\FK
X*\ZDQ\FKSU]H]PRGXáauth_dbm). Plik taki zawiera te same dane, co opisana po-
SU]HGQLR UHSUH]HQWDFMD WHNVWRZD 'R MHJR XWZRU]HQLD PR*QD Z\NRU]\VWDü NWyUH ]
do
VWSQ\FK Z V\VWHPLH QDU]G]L GR ]DU]G]DQLD SOLNDPL ndbm, ewentualnie
dostarczany w pakiecie Apache skrypt dbmmanage.
SUJ
:W\PSU]\SDGNXÄPDSD´MHVWZ\ZRá\ZDQ\PSU]H]VHUZHU$SDFKHSURJUDPHPSOL
NLHPZ\NRQ\ZDOQ\POXEVNU\SWHP&*,:DUWRüNOXF]DSU]HND]\ZDQDMHVWGRVWDQ
GDUGRZHJRZHMFLDSURJUDPXMDNRáDFXFK]DNRF]RQ\]QDNLHPQRZHJRZLHUV]Dna-
WRPLDVWZDUWRüSRGVWDZLDQD]ZUDFDQDMHVWSRSU]H]VWDQGDUGRZHZ\MFLH:SU]\SDG
ku
QLH]QDOH]LHQLDNOXF]D]ZUDFDQ\MHVWáDFXFK
18//
. Dokumentacja programu Apa-
che zawiera trzy istotne uwagi dla programistów:
•
3URJUDPSRZLQLHQE\üSURVW\ERZLHPMHJR]DáDPDQLHNRF]\VL]DZLHV]H
QLHPFDáHJRVHUZHUD$SDFKH
•
2SHUDFMHZ\MFLRZHZ\NRU]\VWXMFHVWDQGDUGRZHZ\MFLHQLHPRJE\üEX
IRURZDQHJG\*SURZDG]LWRGRSRZVWDQLDLPSDVX3URJUDP\SLVDQHZM]\
NX&SRZLQQ\]DZLHUDüLQVWUXNFM
VHWEXIVWGRXW18//
]DSURJUDP\ZPerlu
VHOHFW67'287_
•
:\PLDQDGDQ\FK]SURJUDPHPSRZLQQDE\üV\QFKURQL]RZDQD]DSRPRF
SOLNXEORNDG\VáX*\GRWHJRG\UHNW\ZD
5HZULWH/RFN
).
Apache – Przewodnik encyklopedyczny
190
UQG
0DSD SRGVWDZLH MHVW SU]HFKRZ\ZDQD Z W]Z randomizowanym pliku tekstowym
(ang. randomized plain text file
)RUPDWWHQMHVW]EOL*RQ\GR]Z\NáHJRIRUPDWXWHNV
WRZHJRZ\SRVD*RQ\MHVWMHGQDNZSHZQGRGDWNRZFHFKRGV]XNDQDZDUWRüNOX
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]DVWRVRZDQLH±MHVWQLPUyZQRZD*HQLHREFL*HQLDZSU]\SDGNXSUDF\$SDFKH
jako serwera odwrotnie
SRUHGQLF]FHJR (ang. reverse proxy). W takiej sytuacji
przeszuki
ZDQDED]D]DZLHUDQD]Z\VHUZHUyZDND*GH*GDQLHSU]HV\áDQHGRVHUZHUD
SRUHGQLF]FHJRMHVWNLHURZDQHGRORVRZRZ\EUDQHJRVHUZHUD]QDMGXMFHJRVLÄ]D
nim”.
LQW
3RGVWDZLHQLDUHDOL]RZDQHVSU]H]ZHZQWU]QIXQNFMVHUZHUD$SDFKH
WRXSSHU
lub
WRORZHU
)XQNFMHWHGRNRQXMNRQZHUVMLSU]HND]DQHMZDUWRFLQDZ\áF]QLH
:,(/.,(OXEZ\áF]QLHPDáHOLWHU\
RewriteBase
5HZULWH%DVHED]RZ\DGUHV85/
8¢\FLHNDWDORJLSOLNLKWDFFHVV
Dyrektywa
5HZULWH%DVH
MDZQLHXVWDODED]RZ\DGUHV85/X*\ZDQ\ZWUDQVODFMLDGUHVyZ
Z\NRQ\ZDQHMGODLQG\ZLGXDOQ\FKNDWDORJyZ&RSUDZGDWHQVDPHIHNWPR*QDRVLJQü
NRQVWUXXMFRGSRZLHGQL]HVWDZUHJXáWUDQVODFMLMHGQDNF]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]RVWDáHMF]FLDGUHVX3R]DNRF]HQLXSU]HWZDU]DQLD
do
Z\QLNRZHJRDGUHVXGRáF]DQ\MHVWSUHILNVXVWDORQ\]DSRPRFG\UHNW\Z\
5HZULWH%DVH
.
3U]\NáDG]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
]DQDVWSXMFR
1.
6HUZHURGELHUDRGZRáDQLHGRDGUHVX/xyz/oldstuff.html.
2.
$GUHV]RVWDMHZHZQWU]QLHSRGGDQ\QDVWSXMF\PSU]HNV]WDáFHQLRP
[\]ROGVWXIIKWPO
!
DEFGHIROGVWXIIKWPOJOREDOQD
G\UHNW\ZD$OLDV
DEFGHIROGVWXIIKWPO !
DEFGHIQHZVWXIIKWPOUHJXñD
WUDQVODFMLZSOLNXKWDFFHVV
DEFGHIQHZVWXIIKWPO
!
[\]QHZVWXIIKWPOG\UHNW\ZD
5HZULWH%DVHZSOLNXKWDFFHVV
[\]QHZVWXIIKWPO
!
DEFGHIQHZVWXIIKWPOJOREDOQD
G\UHNW\ZD$OLDV
3.
Wynikiem translacji jest adres /abc/def/newstuff.html.
3
$E\XQLNQüQLHSRUR]XPLHZDUWRMHV]F]H]DF\WRZDüLQQ\IUDJPHQWGRNXPHQWDFMLÄ>«@IL]\F]Q\P
NDWDORJLHPRGSRZLDGDMF\PFLH*FH/xyz jest /abc/defLQQ\PLVáRZ\SOLNNRQILJXUDFMLVHUZHUD]DZLHUD
G\UHNW\Z$OLDV[\]DEFGHI´±SU]\SWáXP
5R]G]LDá3U]HDGUHVRZ\ZDQLH
191
RewriteCond
5HZULWH&RQGñDxFXFKZ]RU]HF
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQHNDWDORJL
5HJXáD WUDQVODFML ]GHILQLRZDQD G\UHNW\Z
5HZULWH5XOH
PR*H E\ü SRSU]HG]RQD MHGQ
lub kilkoma dyrektywami
5HZULWH&RQG
RNUHODMF\PL ZDUXQNL NWyUH QDOH*\ VSHáQLü
DE\WUDQVODFMD]RVWDáDZ\NRQDQD3DUDPHWUáDFXFK zawiera specyfikacje zmiennych ser-
wera zapisane w postaci
^1$=:$B=0,(11(-`
%LH*FDZDUWRü]DGDQHMZWHQVSRVyE
]PLHQQHMSRUyZQ\ZDQDMHVW]Z\UD*HQLHPUHJXODUQ\P]DSLVDQ\PZSDUDPHWU]Hwzorzec;
MHOLSRUyZQDQLHZ\SDGQLHQLHSRP\OQLHWUDQVODFMD]DGDQDG\UHNW\Z
5HZULWH5XOH
nie
jest wykonywana.
1$=:$B=0,(11(-
PR*HSU]\MPRZDüMHGQ]SRQL*V]\FKZDUWRFL
$3,B9(56,21
3$7+B,1)2
6(59(5B35272&2/
$87+B7<3(
48(5<B675,1*
6(59(5B62)7:$5(
'2&80(17B5227
5(025(B$''5
7+(B5(48(67
(19GRZROQD]PLHQQD
5(027(B+267
7,0(
+773B$&&(37
5(027(B86(5
7,0(B'$<
+773B&22.,(
5(027(B,'(17
7,0(B+285
+773B)25:$5'('
5(48(67B),/(1$0(
7,0(B0,1
+773B+267
5(48(67B0(7+2'
7,0(B021
+773B352;<B&211(&7,21 5(48(67B85,
7,0(B6(&
+773B5()(5(5
6&5,37B),/(1$0(
7,0(B:'$<
+773B86(5B$*(17
6(59(5B$'0,1
7,0(B<($5
+773GRZROQHSROH
6(59(5B1$0(
,6B68%5(4
6(59(5B3257
=PLHQQHWHRGSRZLDGDMRNUHORQ\PSRORPQDJáyZND+773]PLHQQ\PZNRG]LH(UyG
áRZ\PSURJUDPX$SDFKHLZDUWRFLELH*FHJRF]DVX
RewriteRule
5HZULWH5XOHZ]RU]HFSRGVWDZLHQLH>RSFMH@
8¢\FLHNRQILJXUDFMDJñyZQDVHUZHU\ZLUWXDOQHNDWDORJL
Dyrektywa
5HZULWH5XOH
GHILQLXMH SRMHG\QF] UHJXá WUDQVODFML L PR*H E\ü X*\WD
dowol
Q 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ü]DSLVXMHVWLVWRWQD8*\FLHGDQHMZDUXQNRZDQHMHVWSRUyZQDQLHPDGUHVX85/
]Z\UD*HQLHPUHJXlarnym wzorzecMHOLSRUyZQDQLHZ\SDGQLHSR]\W\ZQLHGRNRQ\ZDQH
jest podstawienie
']LDáDQLH UHJXá\ PR*H E\ü ]PRG\ILNRZDQH ]D SRPRF DUJXPHQWX
opcje, którego dopusz
F]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]DQLDUHJXáDWUDNWRZDQDMHVWMDNRRVWDWQLDZJUXSLH
FKDLQ_&
-HOLZDUXQHNGDQHMUHJXá\MHVWVSHáQLRQ\SRZRGXMHZ\NRQDQLHQDVWSQHMUHJXá\OXE
UHJXáZSU]HFLZQ\PSU]\SDGNXVRQHSRPLMDQH
W\SH_7 W\SPLPH
Wymusza dany typ MIME dla pliku docelowego.
QRVXEUHT_16
:\PXV]D SRPLQLFLHGDQHM UHJXá\ GOD SRG*GD JHQHURZDQ\FK ZHZQWU]QLH SU]H]
serwer.
HQY_( ]PLHQQDZDUWRQü
Definiuje
]PLHQQURGRZLVNRZQDGDMFMHMRNUHORQZDUWRü.
TVDSSHQG_46$
1DND]XMHGRáF]HQLHáDFXFKD]DS\WDQLDGRSU]HWZDU]DQHJRDGUHVX
SDVVWKURXJK_37
:\PXV]DSRGVWDZLHQLHQD]Z\SOLNXGRSRODLGHQW\ILNDWRUD85,ZZHZQWU]QHMVWUX
NWXU]H RSLVXMFHM *GDQLH
4
XPR*OLZLD WR SU]HWZDU]DQLH SU]HWáXPDF]RQHJR DGUHVX
przez inne dyrektywy, np.
$OLDV
).
VNLS_6 OLF]ED
:\PXV]DSRPLQLFLH]DGDQHMliczbyUHJXá
QH[W_1
:\PXV]DSRQRZQHUR]SRF]FLHSU]HWZDU]DQLDRGSLHUZV]HMUHJXá\
JRQH_*
3RZRGXMHSU]HVáDQLHRGSRZLHG]L+773RNRG]LHÄ85/ *RQH´ ±DGUHV ]RVWDá
zlikwidowany).
IRUELGGHQ_)
3RZRGXMHSU]HVáDQLHRGSRZLHG]L+773RNRG]LHÄ85/Forbidden” – brak zez-
ZROHQLDQDGRVWS
'ODSU]\NáDGX]Dáy*P\*HFKFHP\SRGGDZDüWUDQVODFMLDGUHV\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,
DQDVWSQLHGRSLVDüGRSOLNXNRQILJXUDFMLVHUZHUDQDVWSXMFHZLHUV]H
5HZULWH/RJNDWDORJUHZULWHORJ
5HZULWH0DSUHDOWRXVHUW[WJG]LHVWDPPDSDSRGVWDZLHQ
5HZULWH5XOHA>A@a>A@
X^UHDOWRXVHU_QRERG\`
4
2SLVXMFD*GDQLHVWUXNWXUDUHTXHVWBUHFMHVWRPyZLRQDZUR]G]LDOH±SU]\SWáXP
5R]G]LDá3U]HDGUHVRZ\ZDQLH
193
3U]\NáDG]DVWRVRZDQLDWUDQVODFMLDGUHVyZ
3UDFRZQLF\G]LDáXKDQGORZHJRILUP\%XWWHUWKOLHV3ROVNDVROLGQLHSU]\NáDGDMVLGRSUD
F\DZDFKODU]RIHURZDQ\FKSURGXNWyZUR]UyVáVLGRWHJRVWRSQLD*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á\ZDQHJRZVSRVyEQDVWSXMF\
FDUGLQIRQXPHUSDUDPHWU
gdzie numer
WRQXPHUZ]RUXSRF]WyZNL]DparametrPR*HSU]\MPRZDüZDUWRüÄFHQD´
ÄDXWRU´OXEÄUR]PLDU´1LHVWHW\QDVLKDQGORZF\V]E\W]DMFLLQQ\PLVSUDZDPLE\]DZ
UDFDüVRELHJáRZ]DSDPLW\ZDQLHPVNáDGQLWRWH*SRVWDQRZLRQRXáDWZLüLP*\FLHLXPR
*OLZLüRGZRá\ZDQLHVLGRED]\]DSRPRFRGSRZLHGQLRVIRUPXáRZDQ\FKDGUHVyZ85/
,WDNRGZRáDQLHGRDGUHVXhttp://sales.butterthlies.com.pl/info/2949/cena powinno zwró-
FLüFHQNDUWNLRQXPHU]HZ]RUX2GSRZLHGQLSOLNNRQILJXUDFMLVHUZHUD]QDMG]LHV]
w katalogu site.rewrite:
8VHUZHEXVHU
*URXSZHEJURXS
$SDFKHZ\PDJDSRGDQLDQD]Z\VHUZHUDFKRFLD¢WXWDMQLHMHVW
X¢\ZDQD3RGDQDQD]ZDMHVWX¢\ZDQDGRP\±OQLHGODVHUZHUyZQLH
RGSRZLDGDMïF\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 cardinfo
E\áE\]DSHZQHFDáNLHPVNRPSOLNRZDQ\PQDU]G]LHPMHG
QDNZQDV]\PüZLF]HQLXSRVáX*\P\VLEDQDOQLHSURVWDWUDS
ELQVK
HFKRFRQWHQWW\SHWH[WKWPO
HFKR
HFKR=DS\WDñH±RSDUDPHWUGODSRF]WyZNL
Apache – Przewodnik encyklopedyczny
194
$E\QLHSR]RVWDZLDüQLF]HJRSU]\SDGNRZLSU]HGZ\SUyERZDQLHPQDV]HJRV\VWHPXZ\
áF]P\WUDQVODFMG\UHNW\Z
5HZULWH(QJLQHRII
3UyEDRGZRáDQLDVLGRDGUHVX http://
sales.butterthlies.com.pl/info/2949/cena
SRZLQQDZWDNLHMV\WXDFML]DNRF]\üVLNRPXQL
katem
7KHUHTXHVWHG85/LQIRFHQDZDVQRWIRXQGRQWKLVVHUYHU
I
QLF G]LZQHJR :áF]P\ WHUD] WUDQVODFM DGUHVyZ G\UHNW\Z
5HZULWH(QJLQH RQ
i
przyj
U]\MP\ VL NOXF]RZHPX HOHPHQWRZL FDáHJR PHFKDQL]PX NWyU\P MHVW QDVWSXMF\
wiersz w pliku konfiguracji serwera:
5HZULWH5XOHALQIR>A@>A@FJLELQFDUGLQIR">37@
:OXG]NLPM]\NX]QDF]\WRPQLHMZLFHMW\OHV]XNDMF RG SRF]WNXáDFXFKD ]QDMG(
FLJ ]QDNyZ
LQIR
SR NWyU\P QDVWSXMH MHGHQ OXE ZLFHM ]QDNyZ Uy*Q\FK RG Ä´
i wstaw te znaki do zmiennej
RSHUDFMWUHDOL]XMQDZLDV\GODSLHUZV]HJRLFK]HVWD
ZXX*\ZDQDMHVW]PLHQQD
1DVWSQLHZ\V]XNDM]QDNÄ´DSRQLPNROHMQ\FLJ]QD
NyZUy*Q\FKRGÄ´LZVWDZMHGR]PLHQQHM
:\V]XNDMNRQLHFáDFXFKDLSU]HND*Z\
QLN FDáHM RSHUDFML FR QDND]XMH RSFMD
>37@
GR QDVWSQHM G\UHNW\Z\ NWyU MHVW
6FULSW$OLDV
)LQDOQ\HIHNWFDáHMWHMRSHUDFMLSRZLQLHQGDüRGZRáDQLHGRDGUHVXhttp://
sales.butterthlies.com.pl/cgi-bin/cardinfo?<numer>+<parametr>.
*G\E\VNU\SW]MDNLFKSRZRGyZ]QDMGRZDáVLQDLQQ\PVHUZHU]H:::QDV]DUHJXáD
PLDáDE\SRVWDü
5HZULWH5XOHALQIR>A@>A@KWWSJG]LHVWDPFRPFJLELQ
FDUGLQIR">37@
=DXZD*P\SU]\W\P*HSRZ\*V]\Z]RU]HFQLHEG]LHRGSRZLDGDááDFXFKRZL/info/123/
cena/pawel
JG\*WHQRVWDWQL]DZLHUD]E\WZLHOH]QDNyZÄ´
Po uruchomieniu serwera poleceniem
JR
LRGZRáDQLXVL]DSRPRFSU]HJOGDUNLGR
adresu http://sales.butterthlies.com.pl/info/2949/cena
SRZLQQLP\X]\VNDüRGSRZLHG(
=DS\WDñH±RSDUDPHWUFHQDGODSRF]WyZNL
Korygowanie adresów
3DNLHW$SDFKH]DZLHUDMHV]F]HMHGHQX*\WHF]Q\PRGXáRQD]ZLHmod_speling58PR*OLwia
RQ DXWRPDW\F]QH SRSUDZLDQLH SLVRZQL ZLHONLFK L PDá\FK OLWHU X]XSHáQLDQLH RSXV]F]R
Q\FK]QDNyZ]DPLDQ]QDNyZEáGQLHZSLVDQ\FKLSRSUDZLDQLHSU]HVWDZLHW]ZÄF]HV
NLFKEáGyZ´ZF]FLDFKDGUHVyZ85/RGQRV]F\FKVLGRSOLNyZLNDWDORJyZRGE\
ZDVLWRSRSU]H]RGQRV]HQLHQD]ZGR]DZDUWRFLV\VWHPXSOLNyZ0RGXámod_speling
QLHNRU\JXMH(OHSRGDQ\FKQD]ZX*\WNRZQLNyZ
CheckSpelling
&KHFN6SHOOLQJRQ_RII
:DUWR± GRP\±OQDRII
8¢\FLHZV]rG]LH
5
7DNWRQLHSRP\áND3RGHMU]HZDP\*HWRMHV]F]HMHGHQSU]HMDZKXPRUXSURJUDPLVWyZspelling
(przez dwa
ÄO´ SRSUDZLDQLHEáGyZSLVRZQL±SU]\SWáXP