From daa21a6a6ff76784890667b4ff0065422925257c Mon Sep 17 00:00:00 2001
From: =?utf8?q?Andr=C3=A9=20Malo?= The Apache HTTP Server is a modular program where the
@@ -308,7 +309,8 @@ $ apxs -i -a -n foo mod_foo.la
Apache HTTP ãµã¼ãã¯ã¢ã¸ã¥ã¼ã«åãããããã°ã©ã ã§ã
@@ -290,7 +291,8 @@ $ apxs -i -a -n foo mod_foo.la
Apache HTTP Sunucusu Sürüm 2.3 Apache HTTP Sunucusu modüler bir program olup, yönetici sadece bir
+ grup modül seçerek sunucuya iÅlevsellik ekleyebilir. Modüller sunucunun
+ derlenmesi sırasında doÄrudan Bu belgede DSO modüllerinin kullanımının yanında teorisine de
+ deÄinilecektir. Apache modüllerini yüklemek için DSO desteÄi, Apache çekirdeÄine
+ duraÄan olarak ilintilenerek derlenmiÅ olan Apache modülleri için (özellikle üçüncü parti modüller için) DSO
+ dosyası üretimini kolaylaÅtırmak amacıyla Apache 2.xâin DSO özelliklerine bir giriÅ olarak burada kısaca bir
+ bilgi vermekle yetinilecektir: Tüm durumlarda derlenen paylaÅımlı modülü Apacheânin etkin kılabilmesi
+ için Günümüzün Unix türevlerinde var olan Åık bir mekanizma sayesinde
+ çalıÅtırılabilir bir programın adres uzayına çalıÅma anında yüklenmek
+ veya ilintilenmek üzere Devingen PaylaÅımlı Nesneler (DSO -
+ Dynamic Shared Object) adı verilen, özel bir biçem kullanarak kodlanmıÅ
+ program parçaları oluÅturulabilir. Bu yükleme normalde iki yolla yapılabilir: Ya çalıÅtırılabilir
+ programın baÅlatılması sırasında yüklenen İlk yöntemde kullanılan DSOâlara genelde paylaÅımlı
+ kütüphaneler veya DSO kütüphaneleri adı verilir ve
+ bunların dosyaları ÃalıÅtırılabilir program içindeki simgelere normalde DSO içinden
+ atıfta bulunulmaz (genel kod kütüphanesinin baÅka programlarca da
+ kullanılması nedeniyle). Bu bakımdan DSO tarafında böyle bir çözümleme
+ yapılmaz. ÃalıÅtırılabilir program da DSOâdaki simgeleri kendisi
+ çözümlemeye uÄraÅmaz, bu iÅlemlerden tamamen Unix yükleyicisi
+ ( İkinci yöntemde kullanılan DSOâlara yine paylaÅımlı
+ kütüphaneler veya DSO kütüphaneleri adı verilir fakat
+ bunların dosyaları geçerli kabule göre Son olarak, DSOânun programlama arayüzünün getirilerinden yararlanmak
+ amacıyla çalıÅtırılabilir program, daha sonra daÄıtım tabloları vb.
+ yerlerde kullanmak üzere DSO mekanizmasının bu basit gibi görünen iÅleyiÅinde zorluk içeren bir
+ adım Åudur (baÅkaları da olabilir): Bir programın iÅlevselliÄini
+ geniÅletmek için DSO kullanılırken (ikinci yöntem) çalıÅtırılabilir
+ programdan DSO için simgelerin çözümlenmesi. ZorluÄun sebebi,
+ "tersine çözümleme" yapılmasıdır; çalıÅtırılabilir programın simge
+ kümesindeki DSO simgeleri kütüphane tasarımına aykırı bir Åekilde
+ çözümlenir ve bu uygulama tüm platformlarda hazır olarak
+ desteklenmediÄi gibi standartlaÅmıŠda deÄildir. Geçer uygulamada
+ çalıÅtırılabilir programın evrensel simgeleri çoÄunlukla yeniden dıÅa
+ verilmez ve bu bakımdan bir DSO içinde kullanılmaları uygun deÄildir.
+ Esas sorun, çalıÅtırılabilir bir programın iÅlevselliÄini çalıÅma
+ anında geniÅletmek için DSO kullanımı sırasında ilintileyicinin tüm
+ evrensel simgeleri dıÅa vermesini zorlamanın bir yolunu bulmaktır. PaylaÅımlı kütüphane yaklaÅımı bu bakımdan türünün tek örneÄidir,
+ çünkü DSO mekanizması özellikle bunun için tasarlanmıÅtır, dolayısıyla
+ iÅletim sisteminin saÄladıÄı hemen hemen tüm kütüphaneler için
+ kullanılabilir. DiÄer taraftan, bir programın iÅlevselliÄini
+ geniÅletmek için paylaÅımlı nesne kullanımı çoÄu program tarafından
+ kullanılan bir Åey deÄildir. 1998 itibariyle, DSO nesneleriyle çalıÅma anında çalıÅtırılabilir
+ program iÅlevselliÄini geniÅleten baÅlıca birkaç yazılım paketi vardır:
+ Perl 5 (XS mekanizması ve DynaLoader modülü üzerinden), Netscape
+ Sunucusu, vd. 1.3 sürümünden itibaren Apache de bu gruba katıldı. Ãünkü
+ Apache, modül kavramını zaten program iÅlevselliÄini geniÅletmek için
+ kullanıyordu ve temel iÅlevselliÄine dıŠmodülleri ilintilemek için
+ dahili olarak daÄıtım listesine dayalı bir yaklaÅım kullanmaktaydı.
+ Dolayısıyla Apache, modüllerini çalıÅma anında yüklemek için DSO
+ kullanmaya baÅtan yazgılıydı. Yukarıda bahsedilen DSOâya dayalı özelliklerin getirileri
+ Åunlardır: DSO kullanımının götürüleri ise Åunlardır: The Apache HTTP Server provides a mechanism for storing
@@ -67,20 +68,20 @@
For additional flexibility, the directives provided by
- mod_setenvif allow environment variables to be set on a
- per-request basis, conditional on characteristics of particular
+ Finally, mod_unique_id sets the environment variable
- Finally, Server-parsed (SSI) documents processed by mod_include's
+ Server-parsed (SSI) documents processed by
+ Access to the server can be controlled based on the value of
environment variables using the Environment variables can be logged in the access log using
the The The Devingen PaylaÅımlı Nesne DesteÄi
+
+
+ httpd
programının
+ içinde derlenebileceÄi gibi Devingen PaylaÅımlı Nesneler (DSO - Dynamic
+ Shared Object) halinde httpd
programından ayrı
+ olarak da derlenebilir. DSO modülleri sunucunun derlenmesi sırasında
+ derlenebileceÄi gibi ayrı olarak derlenip daha sonra Apache Eklenti
+ Aracı (Apache Extension Tool) apxs
programı
+ kullanılarak sunucuya eklenebilir.Gerçeklenim
+
+
+
+ İlgili Modüller İlgili Yönergeler mod_so
+ adında bir modül tarafından saÄlanır. core
modülünden
+ baÅka, bir DSO modülü olamayan tek modül mod_so
+ modülüdür. Hemen hemen tüm diÄer Apache modülleri kurulum belgesinde de açıklandıÄı gibi
+ configure
betiÄinin
+ --enable-modül=shared
seçeneÄi her modül için ayrı
+ ayrı belirtilerek birer DSO modülü olarak derlenebilir. DerlenmiÅ
+ modüller mod_filanca.so
biçeminde birer DSO ismi alırlar ve
+ her biri istenirse httpd.conf
dosyasında
+ mod_so
modülünün LoadModule
yönergesiyle belirtilerek sunucu baÅlatılırken
+ veya yeniden baÅlatılırken sunucuya yüklenebilir.apxs
+ (APache eXtenSion) adında yeni bir destek programı
+ kullanılmaktadır. Bu program Apache modüllerini Apache kaynak aÄacından
+ ayrı olarak derlemek için kullanılabilir. Fikir basittir: Apache
+ derlenirken DSO dosyalarını derlemek için platforma baÄımlı
+ derleyici ve ilintileyici seçenekleri apxs
+ programının içine konur ve Apacheânin make install
ile
+ kurulumu sırasında Apache C baÅlık dosyaları da kurulur. Böylece
+ kullanıcı Apache daÄıtımının kaynak aÄacına ihtiyaç duymadan ve
+ platforma baÄımlı derleyici ve ilintileyici seçeneklerini bilmek zorunda
+ kalmadan istediÄi Apache modülünü apxs
programını
+ kullanarak derleyebilir.Kullanıcı Ãzeti
+
+
+
+
+ mod_filanca.c
dosyasında daÄıtılan bir
+ özgün Apache modülünü mod_filanca.so
isminde bir
+ DSO modülü olarak derlemek ve kurmak için Åöyle yapılır:
+
+
+ $ ./configure --prefix=/kurulum/yeri --enable-filanca=shared
+ $ make install
+mod_filanca.c
dosyasında daÄıtılan bir
+ üçüncü parti Apache modülünü mod_filanca.so
+ isminde bir DSO modülü olarak derlemek ve kurmak için Åöyle yapılır:
+
+
+$ ./configure --add-module=modül-türü:/bir/kurulum/yeri/mod_filanca.c \
+
+ --enable-filanca=shared
+
+$ make install
+
+$ ./configure --enable-so
+$ make install
+mod_filanca.c
dosyasında daÄıtılan bir
+ üçüncü parti Apache modülü mod_filanca.so
+ isminde bir DSO modülü olarak Apache kaynak aÄacının dıÅında
+ apxs
kullanarak derlemek ve kurmak için Åöyle
+ yapılır:
+
+
+$ cd /bir/kurulum/yeri
+$ apxs -c mod_filanca.c
+$ apxs -i -a -n filanca mod_filanca.la
+httpd.conf
dosyasında o modül için bir LoadModule
yönergesi bulunmalıdır.Artalan Bilgisi
+
+ ld.so
adlı bir
+ sistem programınının devingen olarak yüklenmesi ile ya da
+ çalıÅtırılabilir programın içinden Unix yükleyicisine programsal sistem
+ arayüzü saÄlayan dlopen()/dlsym()
sistem çaÄrılarının elle
+ yapılması suretiyle.libfilanca.so
veya
+ libfilanca.so.1.2
biçiminde isimlendirilir. Belli bir
+ sistem dizininde (normalde /usr/lib
) bulunurlar ve derleme
+ sırasında ilintileyici komutuna -lfilanca
Åeklinde
+ belirtilerek çalıÅtırılabilir programla ilintilenirler. DoÄrudan
+ çalıÅtırılabilir koda eklenen bu kodlar Unix yükleyicisinin programın
+ baÅlatılması sırasında kütüphaneyi /usr/lib
altında
+ libfilanca.so
adıyla bulabilmesini saÄlar. Kütüphanelerin
+ aranacaÄı yerler ya -R
gibi bir ilintileyici seçeneÄi ile
+ koda eklenir ya da arama yolları LD_LIBRARY_PATH
ortam
+ deÄiÅkeni aracılıÄıyla yapılandırılır. Böylece çalıÅtırılabilir
+ programda henüz çözümlenmemiŠsimgeler DSO içinde bulunarak
+ çözümlenebilir.ld.so
) sorumludur. (Aslında, ld.so
âyu
+ çaÄıracak kod, her çalıÅtırılabilir programın içine ilintilenmiÅ
+ (duraÄan deÄil) baÅlatma kodunun bir parçasıdır.) Programlar tarafından
+ ortaklaÅa kullanılan kütüphanelerin devingen olarak yüklenmesinin sebebi
+ basittir: Kütüphane kodu libc.so
gibi bir sistem
+ kütüphanesine bir kere kaydedilip disk alanından yer kazanılmıÅ
+ olur.filanca.so
gibi
+ isimlendirilse de genelde keyfi olarak seçilen bir dosya uzantısı
+ kullanılarak isimlendirilirler. Bu dosyalar genellikle programa özel bir
+ dizinde dururlar ve bu dosyaları kullanacak olan çalıÅtırılabilir
+ programla aralarında özdevimli olarak baÄ kurulmamıÅtır. Bunun yerine,
+ çalıÅtırılabilir program DSOâyu çalıÅma anında dlopen()
+ sayesinde kendi adres uzayına ekler. ÃalıÅtırılabilir program için
+ DSOâdaki simgeler bu sırada çözümlenmez. Ãzdevimli olarak devreye
+ giren Unix yükleyicisi, (varsa) artakalan simgeleri, çalıÅtırılabilir
+ ihraç edilen simge kümelerini (ve özellikle her yerde hazır ve nazır
+ libc.so
içindeki tüm simgeleri) kullanarak çözümler. Bu
+ yolla DSO, çalıÅtırılabilir programın simge kümesi bilgilerini sanki
+ kendisine baÅtan duraÄan olarak ilintilenmiÅ gibi ulaÅabilir.dlsym()
üzerinden DSOâdaki belli
+ simgeleri çözümlemek zorundadır. BaÅka bir deyiÅle: ÃalıÅtırılabilir
+ program ihtiyaç duyduÄu her simgeyi kullanmak için kendisi çözümleme
+ yapmak zorundadır. Böyle bir mekanizmanın getirisi, programın isteÄe
+ baÄlı parçalarının gerekli olana kadar yüklenmemesidir (böylece daha az
+ bellek alanı kullanılır). GerektiÄi zaman programın iÅlevselliÄini
+ arttırmak amacıyla bu parçalar devingen olarak programa
+ yüklenebilir.Getiriler ve Götürüler
+
+
+
+
+ configure
+ seçenekleriyle birleÅtirilmek yerine httpd.conf
içinde
+ LoadModule
yönergeleri
+ sayesinde çalıÅma anında birleÅtirilebilmektedir. Bu yolla, örneÄin
+ tek bir Apache kurulumuyla birbirinden farklı yapılandırmalara sahip
+ çok sayıda sunucu çalıÅtırmak mümkündür. (standart veya SSL sürümü;
+ basitleÅtirilmiÅ veya güçlendirilmiÅ sürümü [mod_perl, PHP3],
+ vs.)apxs
çifti sayesinde
+ Apache kaynak aÄacının dıÅında derleyip modülün yeni bir sürümünü bir
+ apxs -i
komutunun ardından apachectl
+ restart
yaparak çalıÅan bir Apache sunucusunda denemek daha
+ kolay hale getirilmiÅtir.
+
+
+ld -lfilanca
) DSO mekanizmasını tüm modül türleri için
+ kullanamazsınız (örneÄin a.out temelli platformlar bu iÅlevselliÄi
+ ELF temelli platformlar kadar iyi saÄlamaz). BaÅka bir deyiÅle, DSO
+ dosyaları olarak derlenmiÅ modüllerin kullanabileceÄi simgeler ya
+ Apache temel kodunda vardır ya Apache temel kodunun kullandıÄı C
+ kütüphanesinde (libc
) ve diÄer duraÄan ve devingen
+ kütüphanelerde vardır ya da konumdan baÄımsız kodu içeren
+ duraÄan kütüphane arÅivlerinde (libfilanca.a
)
+ vardır. DiÄer modülleri kullanmak için tek Åansınız ya Apache
+ çekirdeÄinin modüle bir atıf içermesini saÄlamak ya da modül kodunu
+ dlopen()
vasıtasıyla yüklemektir.mod_setenvif
allow environment variables to be set
+ on a per-request basis, conditional on characteristics of particular
requests. For example, a variable could be set only when a
specific browser (User-Agent) is making a request, or only when
a specific Referer [sic] header is found. Even more flexibility
- is available through the mod_rewrite's RewriteRule
which uses the
+ is available through the mod_rewrite
's RewriteRule
which uses the
[E=...]
option to set environment variables.Unique Identifiers
- UNIQUE_ID
for each request to a value which is
+ mod_unique_id
sets the environment
+ variable UNIQUE_ID
for each request to a value which is
guaranteed to be unique across "all" requests under very
specific conditions.SetEnv
directive runs
late during request processing meaning that directives such as
SetEnvIf
and RewriteCond
will not see the
@@ -143,7 +144,8 @@
SSI Pages
- mod_include
's
INCLUDES
filter can print environment variables
using the echo
element, and can use environment
variables in flow control elements to makes parts of a page
@@ -158,9 +160,9 @@
allow from env=
and deny from env=
directives. In combination with
- SetEnvIf
, this
- allows for flexible control of access to the server based on
- characteristics of the client. For example, you can use these
+ SetEnvIf
, this
+ allows for flexible control of access to the server based on
+ characteristics of the client. For example, you can use these
directives to deny access to a particular browser (User-Agent).
LogFormat
option %e
. In addition, the decision on whether
- or not to log requests can be made based on the status of
- environment variables using the conditional form of the
+ or not to log requests can be made based on the status of
+ environment variables using the conditional form of the
CustomLog
- directive. In combination with SetEnvIf
this allows for flexible control of which
- requests are logged. For example, you can choose not to log
+ directive. In combination with SetEnvIf
this allows for flexible control of which
+ requests are logged. For example, you can choose not to log
requests for filenames ending in gif
, or you can
choose to only log requests from clients which are outside your
subnet.URL Rewriting
- %{ENV:...}
form of TestString in
- the RewriteCond
- allows mod_rewrite's rewrite
+ %{ENV:variable}
form of
+ TestString in the RewriteCond
allows mod_rewrite
's rewrite
engine to make decisions conditional on environment variables.
- Note that the variables accessible in mod_rewrite without the
- ENV:
prefix are not actually environment
- variables. Rather, they are variables special to mod_rewrite
- which cannot be accessed from other modules.mod_rewrite
+ without the ENV:
prefix are not actually environment
+ variables. Rather, they are variables special to
+ mod_rewrite
which cannot be accessed from other
+ modules.
When set to a value of "1", this variable disables the DEFLATE
- output filter provided by mod_deflate
for
- content-types other than text/html
. If you'd rather
+
When set to a value of "1", this variable disables the
+ DEFLATE
output filter provided by
+ mod_deflate
for content-types other than
+ text/html
. If you'd rather
use statically compressed files, mod_negotiation
evaluates the variable as well (not only for gzip, but for all
encodings that differ from "identity").
However, if the redirection is to a page that uses a different character set, some broken browser versions will try to use the character set from the redirection text rather than the actual page. This can result in Greek, for instance, being incorrectly rendered.
+Setting this environment variable causes Apache to omit the character set for the redirection text, and these broken browsers will then correctly use that of the destination page.
Sending error pages without a specified character set may allow a cross-site-scripting attack for existing browsers (MSIE) @@ -392,11 +397,13 @@ BrowserMatch "JDK/1\.0" force-response-1.0
-SetEnvIf Request_URI \.gif image-request -SetEnvIf Request_URI \.jpg image-request -SetEnvIf Request_URI \.png image-request -CustomLog logs/access_log common env=!image-request
+ SetEnvIf Request_URI \.gif image-request
+ SetEnvIf Request_URI \.jpg image-request
+ SetEnvIf Request_URI \.png image-request
+ CustomLog logs/access_log common env=!image-request
+
-SetEnvIf Referer "^http://www\.example\.com/" local_referal -# Allow browsers that do not send Referer info -SetEnvIf Referer "^$" local_referal -<Directory /web/images> - Order Deny,Allow - Deny from all - Allow from env=local_referal -</Directory>
/web/images
.
+
+
+ SetEnvIf Referer "^http://www\.example\.com/" local_referal
+ # Allow browsers that do not send Referer info
+ SetEnvIf Referer "^$" local_referal
+ <Directory /web/images>
+
+ Order Deny,Allow
+ Deny from all
+ Allow from env=local_referal
+
+ </Directory>
+
For more information about this technique, see the "Keeping Your Images from Adorning Other Sites" @@ -425,7 +436,8 @@ SetEnvIf Referer "^$" local_referal
diff --git a/docs/manual/env.html.ja.utf8 b/docs/manual/env.html.ja.utf8 index 0ec3b83474..04975880c1 100644 --- a/docs/manual/env.html.ja.utf8 +++ b/docs/manual/env.html.ja.utf8 @@ -21,8 +21,11 @@ +Apache HTTP ãµã¼ãã¯ç°å¢å¤æ°ã¨å¼ã°ãããååã®ã¤ãã 夿°ã«æ å ±ãè¨æ¶ããä»çµã¿ãæä¾ãã¦ãã¾ãããã®æ å ±ã¯ãã°åéã @@ -419,7 +422,8 @@ SetEnvIf Referer "^$" local_referal
diff --git a/docs/manual/env.html.ko.euc-kr b/docs/manual/env.html.ko.euc-kr index a31433decb..519f5fd324 100644 --- a/docs/manual/env.html.ko.euc-kr +++ b/docs/manual/env.html.ko.euc-kr @@ -20,7 +20,8 @@Apache HTTP Sunucusu Sürüm 2.3
+Apache HTTP Sunucusunda bilgiyi deÄiÅkenlerde saklamak için ortam + deÄiÅkenleri adı verilen bir mekanizma bulunur. Saklanan bu bilgi + eriÅim denetimi, günlük kaydı gibi çeÅitli iÅlemleri denetlemekte + kullanılabilir. DeÄiÅkenler ayrıca, CGI betikleri gibi harici + uygulamalarla iletiÅim mekanizması olarak da kullanılabilir. Bu belgede + bu deÄiÅkenler üzerindeki iÅlemlere ve kullanım Åekillerine + deÄinilmiÅtir.
+ +Bu deÄiÅkenlere ortam deÄiÅkenleri dense de iÅletim sisteminin + ortam deÄiÅkenleri gibi deÄillerdir. Bunlar sadece Apache ortamında + geçerli deÄiÅkenler olup iÅletim sisteminin bu deÄiÅkenlerden haberi + olmaz. Sadece CGI betikleri ve SSI sayfaları gibi harici uygulamalar + tarafından üretilen ortam deÄiÅkenleri sistem ortamının deÄiÅkenleri + haline gelirler. İÅletim sistemi ortamına çalıÅmakta olan sunucudan + müdahale etmek isterseniz iÅletim sisteminizin kabuÄu tarafından saÄlanan + standart ortam müdahale mekanizmalarını kullanmalısınız.
+İlgili Modüller | İlgili Yönergeler |
---|---|
Apache ortamında bir ortam deÄiÅkenine müdahale etmenin en temel
+ yolu hiçbir koÅula tabi olmayan SetEnv
yönergesini kullanmaktır. Bu deÄiÅkenleri Apache
+ baÅlatılırken sistem ortam deÄiÅkenleri haline getirmek için
+ PassEnv
yönergesi
+ kullanılabilir.
EsnekliÄi arttırmak için, mod_setenvif
modülü ile
+ isteÄin özelliklerine uygun olarak her isteÄe özel deÄiÅkenler
+ atayabilmek mümkün kılınmıÅtır. ÃrneÄin, bir deÄiÅken sadece isteÄi
+ yapan tarayıcıya özgü bir deÄerle veya sadece belli bir baÅlık
+ alanınına baÄlı olarak atanabilir. Daha da esnek bir mekanizma,
+ ortam deÄiÅkeni atamak için [E=...]
seçeneÄinin
+ kullanıldıÄı mod_rewrite
modülünün RewriteRule
yönergesi ile
+ saÄlanmıÅtır.
Son olarak, mod_unique_id
UNIQUE_ID
+ ortam deÄiÅkenine her istek için o isteÄin çok özel koÅullar altında
+ tüm diÄer istekler arasında eÅsizliÄini garanti edecek bir deÄer
+ atar.
Apache yapılandırmasıyla atanan ve kabuÄa aktarılan ortam + deÄiÅkenlerinden baÅka CGI + Belirtiminin gerektirdiÄi istekler hakkında temel bilgileri + içeren ortam deÄiÅkenlerinin CGI betikleri ve SSI sayfalarınca + atanabilmesi saÄlanmıÅtır.
+ + +suexec
+ kullanıldıÄında ortam, CGI betikleri çalıÅtırılmadan önce
+ güvenilir deÄiÅkenler kalacak Åekilde temizlenir.
+ Güvenilir deÄiÅken listesi suexec.c
içinde
+ derleme sırasında tanımlanır.SetEnv
yönergesi geç çalıÅtırılır,
+ yani SetEnvIf
ve
+ RewriteCond
gibi
+ yönergeler SetEnv
ile
+ atanan deÄiÅken deÄerlerini görmezler.İlgili Modüller | İlgili Yönergeler |
---|---|
Ortam deÄiÅkenlerinin baÅlıca amaçlarından biri CGI betikleriyle + iletiÅim kurmaktır. Yukarıda bahsedildiÄi gibi CGI betiklerine + aktarılan ortam Apache yapılandırmasında atanan deÄiÅkenlere ek + olarak istek hakkında standart temel bilgileri de içerir. Bu konuda + ayrıntılı bilgi edinmek için CGI + ÃÄreticisine bakabilirsiniz.
+ + +Sunucu tarafında mod_include
modülünün
+ INCLUDES
süzgeci ile yorumlanan SSI sayfalarında ortam
+ deÄiÅkenleri echo
elemanı ile basılabilir ve sayfayı
+ isteÄin özelliklerine uygun olarak oluÅturmak için ortam
+ deÄiÅkenleri akıŠdenetim elemanları içinde kullanılabilir. Apache
+ ayrıca, yukarıda bahsedildiÄi gibi standart CGI ortam deÄiÅkenli SSI
+ sayfalarını da saÄlayabilmektedir. Daha ayrıntılı bilgi edinmek için
+ SSI ÃÄreticisine bakabilirsiniz.
allow from env=
ve deny from env=
+ yönergeleri sayesinde ortam deÄiÅkenlerine dayalı olarak sunucuya
+ eriÅim denetim altında tutulabilir. Bunlar SetEnvIf
yönergesi ile birlikte
+ kullanılmak suretiyle sunucuya eriÅim isteÄin özelliklerine baÄlı
+ olarak daha esnek bir tarzda denetlenebilir. ÃrneÄin, belli bir
+ tarayıcının sunucuya eriÅimi bu yönergelerle engellenebilir.
Ortam deÄiÅkenleri LogFormat
yönergesinin %e
seçeneÄi
+ kullanılarak eriÅim günlüÄüne kaydedilebilir. Bundan baÅka,
+ CustomLog
yönergesi
+ sayesinde isteklerin günlüÄe kaydedilip kaydedilmeyeceÄine ortam
+ deÄiÅkenlerine dayalı olarak karar verilmesi saÄlanabilir. Bunlar
+ SetEnvIf
yönergesi ile
+ birlikte kullanılmak suretiyle günlük kayıtları isteÄin
+ özelliklerine baÄlı olarak daha esnek bir tarzda denetlenebilir.
+ ÃrneÄin, gif
uzantılı dosyalar için yapılan isteklerin
+ günlüÄe kaydedilmemesi veya sadece alt aÄınızın dıÅından gelen
+ isteklerin günlüÄe kaydedilmesini isteyebilirsiniz.
Header
yönergesi belli
+ bir yanıt baÅlıÄının istemciye gönderilip gönderilmeyeceÄine belli
+ bir ortam deÄiÅkeninin varlıÄına bakarak karar vermek için
+ kullanılabilir. Böylece örneÄin, belli bir baÅlıÄın istemciye
+ gönderilmesine istemciden belli bir baÅlıÄın alınıp alınmadıÄına
+ baÄlı olarak karar verilebilir.
mod_ext_filter
tarafından yapılandırılan harici
+ süzgeçler ExtFilterDefine
yönergesinin disableenv=
ve
+ enableenv=
seçenekleri kullanılarak bir ortam
+ deÄiÅkenine baÄlı olarak etkinleÅtirilebilir.
RewriteCond
+ yönergesinin SınamaDizgesi olarak kullanılan
+ %{ENV:deÄiÅken}
biçemi
+ mod_rewrite
yeniden yazma motorunun ortam
+ deÄiÅkenlerine baÄlı kararlar almasını mümkün kılar. Yalnız Åuna
+ dikkat ediniz: mod_rewrite
âta ENV:
+ öneki kullanılmadan belirtilen deÄiÅkenler ortam deÄiÅkenleri
+ deÄillerdir. Onlar mod_rewrite
âa özgü diÄer
+ modüllerden eriÅilemeyen özel deÄiÅkenlerdir.
Birlikte çalıÅabilirlik sorunları Apacheânin belli istemcilerle
+ veri alıÅveriÅi sırasında davranıÅını deÄiÅtirmesini gerektirebilir.
+ Genellikle SetEnv
ve
+ PassEnv
yönergelerinden
+ baÅka BrowserMatch
+ gibi yönergelerle ortam deÄiÅkenleri atanarak bunu saÄlayan
+ mekanizmaların olabildiÄince esnek davranabilmesi saÄlanabilir.
downgrade-1.0
İstek, daha yüksek bir HTTP protokolüyle yapılmıŠolsa bile + HTTP/1.0 isteÄi olarak ele alınır.
+ + +force-gzip
DEFLATE
süzgeci etkinse tarayıcının tercih ettiÄi
+ kodlama koÅulsuz olarak yoksayılarak sıkıÅtırılmıŠçıktı
+ gönderilir.
force-no-vary
İstemciye gönderilmeden önce yanıttan Vary
alanının
+ çıkarılmasına sebep olur. Bazı istemciler bu alanı gerektiÄi gibi
+ yorumlayamazlar, bu deÄiÅken atanarak bu sorunla karÅılaÅılmamaya
+ çalıÅılır. Bu deÄiÅkenin atanması ayrıca
+ force-response-1.0 deÄiÅkeninin de atanmasına sebep
+ olur.
force-response-1.0
HTTP/1.0 isteÄi yapan istemcilere HTTP/1.0 yanıtı verilmesini zorunlu + kılar. AOL vekillerindeki bir sorun nedeniyle gerçeklenmiÅtir. Bazı + HTTP/1.0 istemciler HTTP/1.1 yanıtlarında doÄru davranmayabilirler; bu + deÄiÅken atanarak bunların sorunları giderilebilir.
+ + + +gzip-only-text/html
Bu deÄiÅkene "1" deÄeri atandıÄında text/html
âden
+ farklı içerik türleri için mod_deflate
modülü
+ tarafından saÄlanan DEFLATE
çıktı süzgeci iptal
+ edilir. SıkıÅtırılmıŠolarak saklanan dosyalar kullanıyorsanız bu
+ deÄiÅkeni mod_negotiation
modülü de dikkate alır
+ (kimliÄine bakarak sadece gzip için deÄil, tüm kodlamalar için bunu
+ yapar).
no-gzip
Bu deÄiÅken atandıÄında, mod_deflate
modülünün
+ DEFLATE
süzgeci kapatılır ve
+ mod_negotiation
modülü kodlanmıŠkaynak teslimatını
+ reddeder.
nokeepalive
Bu deÄiÅken atandıÄında, KeepAlive
yönergesi iptal edilir.
prefer-language
DeÄer olarak en
, ja
veya
+ x-klingon
gibi bir dil kısaltması verilerek atanmıÅsa
+ mod_negotiation
modülünün normal davranıÅını
+ deÄiÅtirerek belirtilen dilde bir teslimat yapılmaya çalıÅılır.
+ Böyle bir belge yoksa normal uzlaÅım süreci uygulanır.
redirect-carefully
İstemciye bir yönlendirme gönderirken sunucuyu daha dikkatli olmaya + zorlar. Bu genellikle istemcinin yönlendirmeler konusunda sorunlu + olduÄu bilindiÄi takdirde yararlı olur. Bu deÄiÅkenin gerçeklenme + sebebi, dizin kaynaklarına yönlendirmeler için DAV yöntemlerini + kullanan Microsoft'un WebFolders yazılımındaki bir sorundur.
+ + + +suppress-error-charset
2.0.54 sürümünden beri mevcuttur.
+ +Apache bir isteÄe bir yönlendirme ile yanıt verdiÄinde istemci + yönlendirmeyi kendiliÄinden yapmaz veya yapamazsa kullanıcıya yanıtla + birlikte gönderilen metin gösterilir. Apache normal olarak bu metni + ISO-8859-1 ile kodlar.
+ +Ancak, yönlendirmenin yapıldıÄı sayfa farklı bir karakter kümesine + sahipse bazı tarayıcı sürümleri asıl sayfanın karakter kodlaması yerine + yönlendirmenin kodlamasını kullanmaya çalıÅırlar. Bu özellikle Yunanca + gibi dillerde hedef sayfanın hatalı yorumlanmasına yol açar.
+ +Bu ortam deÄiÅkeninin atanması Apacheânin yönlendirme için karakter + kümesi belirtmemesini saÄlamak suretiyle hatalı tarayıcıların hedef + sayfayı yanlıŠkarakter kodlamasıyla yorumlamasını önler.
+ +Hata sayfalarının bir karakter kümesi belirtilmeksizin yollanması, + HTTP/1.1 belirtimine uymayan ve karakter kümesini içeriÄe bakarak + tahmin etmeye çalıÅan tarayıcılarda (MSIE) karÅı siteden betik + saldırısı yorumuna sebep olabilir. Girdi verisindeki UTF-7 içerik + (istek betimleyici gibi) karÅı siteden betik saldırılarını engellemek + için tasarlanmıŠnormal önceleme mekanizmalarıyla öncelenmeyeceÄi için + böyle tarayıcılar UTF-7 karakter kodlaması kullanılarak kolayca + aldatılabilir.
+force-proxy-request-1.0
,
+ proxy-nokeepalive
, proxy-sendchunked
ve
+ proxy-sendcl
Bu yönergeler mod_proxy
modülünün normal protokol
+ davranıÅını deÄiÅtirirler. Daha ayrıntılı bilgi için
+ mod_proxy
belgesine bakınız.
Ãnceki sürümlerde bilinen istemci davranıÅlarına karÅı önlem olarak
+ aÅaÄıdaki satırların httpd.conf
içinde bulunması
+ önerilirdi. Fakat, böyle tarayıcılar artık ortalıkta görünmediÄinden
+ bu yapılandırmaya da artık gerek kalmamıÅtır.
+# +# AÅaÄıdaki yönergeler normal HTTP yanıt davranıÅını deÄiÅtirirler. +# İlk yönerge Netscape 2.x ve kendini öyle gösteren tarayıcılar için +# kalıcı baÄlantıyı (keepalive) iptal eder. İkinci yönerge ise HTTP/1.1 +# protokolü bozuk olan ve 301/302 durum kodlu yönlendirme yanıtları +# kullanıldıÄında kalıcı baÄlantıları gerektiÄi gibi desteklemeyen +# Microsoft Internet Explorer 4.0b2 içindir. +# +BrowserMatch "Mozilla/2" nokeepalive +BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 + +# +# AÅaÄıdaki yönergeler HTTP/1.0 yanıtlarından baÅkasına yabancı olan +# tarayıcılara HTTP/1.1 yanıtlarının gönderilmesini iptal eder. +# +BrowserMatch "RealPlayer 4\.0" force-response-1.0 +BrowserMatch "Java/1\.0" force-response-1.0 +BrowserMatch "JDK/1\.0" force-response-1.0
Bu örnek resim isteklerinin eriÅim günlüÄüne yazılmasını engeller. + Bu örnek deÄiÅtirilerek belli dizinlerin veya belli konaklardan + gelen isteklerin günlüÄe kaydedilmesini engellemek amacıyla da + kullanılabilir.
+ +
+ SetEnvIf Request_URI \.gif image-request
+ SetEnvIf Request_URI \.jpg image-request
+ SetEnvIf Request_URI \.png image-request
+ CustomLog logs/access_log common env=!image-request
+
Bu örnekte sunucunuzda bulunmayan sayfalarda sunucunuzdaki
+ resimlerin kullanılmasının nasıl önleneceÄi gösterilmiÅtir. Bu
+ yapılandırma önerilmemekle birlikte nadir durumlarda iÅe yarar. Tüm
+ resimlerin /siteler/resimler
dizini altında tutulduÄu
+ varsayılmıÅtır.
+ SetEnvIf Referer "^http://filan\.fesmekan\.dom/" local_referal
+ # Referrer bilgisi göndermeyen tarayıcılara izin verelim
+ SetEnvIf Referer "^$" local_referal
+ <Directory /siteler/resimler>
+
+ Order Deny,Allow
+ Deny from all
+ Allow from env=local_referal
+
+ </Directory>
+
Bu teknik hakkında daha ayrıntılı bilgi edinmek için ServerWatch + üzerindeki "DiÄer sitelerin sizin resimlerinizle donatılmasını engellemek" + belgesine bakınız.
+ +Apache HTTP Sunucusu Sürüm 2.3
+Açıklama: | Unix ls veya Win32 dir kabuk komutunun
+yaptıÄı gibi dizin içeriÄini listeler. |
---|---|
Durum: | Temel |
Modül Betimleyici: | autoindex_module |
Kaynak Dosyası: | mod_autoindex.c |
Bir dizin içerik dosyası iki kaynaktan gelebilir:
+ +index.html
+ adında bir dosya olarak. Dosyanın ismi DirectoryIndex
yönergesi ile belirlenir ve
+ mod_dir
tarafından denetlenir.AddIcon
, AddIconByEncoding
ve AddIconByType
yönergeleri ile
+ belirlenir. Bunlar mod_autoindex
tarafından
+ denetlenir.İki iÅlev birbirinden ayrı tutulmuÅtur, böylece kendiliÄinden içerik + listesi üretimi tamamen iptal edilebilir (veya deÄiÅtirilebilir).
+ +KendiliÄinden içerik listesi üretimi Options +Indexes
ile
+ etkin kılınabilir. Daha fazla bilgi için Options
yönergesinin açıklamasına bakınız.
IndexOptions
yönergesi
+ FancyIndexing
+ seçeneÄi ile kullanılmıÅsa sütun baÅlıkları listenin sıralamasını
+ sütundaki sıralamaya göre deÄiÅtirecek hiper baÄlar haline getirilir
+ (süslü liste). Aynı baÅlıÄa peÅpeÅe tıklamak suretiyle sıralamayı
+ büyükten küçüÄe veya tersine deÄiÅtirebilirsiniz. Bu sütun baÅlıÄı
+ baÄlarının oluÅturulması IndexOptions
yönergesi SuppressColumnSorting
seçeneÄi ile kullanılarak
+ engellenebilir.
Boyuta göre sıralamada daima dosyanın asıl boyutuna bakılır. + Dolayısıyla ikisi de "1K" olarak gösterilen iki dosyadan 1010 baytlık + olanı küçükten büyüÄe sıralamada 1011 baytlıktan önce + gösterilecektir.
+Apache 2.0.23âte Sütun Sıralama için Sorgu Seçenekleri yeniden
+ düzenlenip tamamen yeni bir sorgu seçenekleri grubu oluÅturulmuÅtur.
+ Ãıktı üzerinde kullanıcı denetimini tamamen ortadan kaldırmak için
+ IndexOptions
yönergesinin
+ IgnoreClient
+ seçeneÄi kullanılabilir.
Sütun sıralama baÅlıklarının her biri hedefi kendisi olan birer hiper + baÄ olup aÅaÄıda sıralanan sorgu seçeneklerini kullanırlar. Bu + seçeneklerin her biri her dizin içerik listesi isteÄine eklenebilir.
+ +C=N
dizini dosya adına göre sıralarC=M
dizini son deÄiÅiklik zamanına ve ardından dosya
+ ismine göre sıralar.C=S
dizini boyuta ve ardından dosya adına göre
+ sıralarC=D
dizini açıklamaya ve ardından
+ dosya adına göre sıralar.O=A
artan sıralama uygulanır.O=D
azalan sıralama uygulanır.F=0
listeleme basit listeleme biçiminde yapılır
+ (FancyIndexing
seçeneÄi ile etkinleÅtirilen biçimde
+ deÄil)F=1
listeleme FancyIndexing
seçeneÄi ile
+ etkinleÅtirilen biçimde yapılırF=2
listeleme FancyIndexing
ve
+ HTMLTable
seçeneÄi
+ ile etkinleÅtirilen biçimde yapılır.V=0
sürüme göre sıralama iptal edilir.V=1
sürüme göre sıralama etkin
+ kılınır.P=kalıp
sadece belirtilen
+ kalıp
ile eÅleÅen dosyalar istelenir.P=kalıp
sorgu seçeneÄinin normalde IndexIgnore
yönergesi iÅleme
+ sokulduktan sonra deÄerlendirildiÄine ve dosya isimlerinin diÄer
+ kendiliÄinden içerik listeleme koÅullarının konusu olmaya devam ettiÄine
+ dikkat ediniz. mod_autoindex
modülündeki Sorgu
+ Seçenekleri çözümleyicisi tanımadıÄı bir seçeneÄe rastlar rastlamaz
+ iÅlemi durdurur. Sorgu Seçenekleri yukarıda belirtilene uygun olarak iyi
+ biçimli olmak zorundadır.
AÅaÄıdaki basit örnekte sorgu seçeneklerinin kullanımı gösterilmiÅtir.
+ Son satırda bulunan "submit" düÄmesindeki tanınmayan "X" girdisine
+ dikkat ediniz. "X=Göster" girdisi tüm seçenekler iÅlendikten sonra
+ mod_autoindex
tarafından son argüman olarak ele
+ alınacak ve çözümleme iÅlemi o noktada duracaktır.
+<form action="" method="get"> + <input type="text" name="P" value="*" /> ile eÅleÅen + <select name="C"> + <option value="N" selected="selected">isme</option> + <option value="M"> deÄiÅiklik tarihine</option> + <option value="S"> boyuta</option> + <option value="D"> açıklamaya</option> + </select> göre + <select name="O"> + <option value="A" selected="selected"> artan</option> + <option value="D"> azalan</option> + </select> + <select name="V"> + <option value="0" selected="selected">normal</option> + <option value="1"> sürümlü</option> + </select> sıralamayla bir + <select name="F"> + <option value="0"> basit liste</option> + <option value="1" selected="selected"> süslü liste</option> + <option value="2"> tablolu liste</option> + </select> + <input type="submit" name="X" value="Göster" /> +</form>
Açıklama: | Dosyaya göre seçilen simgenin yerinde gösterilecek metni belirler. + |
---|---|
Sözdizimi: | AddAlt metin dosya [dosya] ... |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
AddAlt
yönergesi, FancyIndexing
seçeneÄiyle
+ üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek
+ metni belirler. dosya
olarak dosya türünü
+ betimleyecek bir dosya uzantısı, dosya isminin bir kısmı, bir dosya ismi
+ kalıbı veya tam yoluyla bir dosya ismi belirtilebilir. EÄer
+ metin
boÅluk karakterleri içeriyorsa tırnak içine
+ ("
veya '
) alınmalıdır. Simge metni, simge
+ bulunamadıÄı veya istemci resim gösteremediÄi takdirde ya da kullanıcı
+ resim yüklememeyi tercih etmiÅse gösterilir.
+ AddAlt "PDF dosya" *.pdf
+ AddAlt SıkıÅtırılmıŠ*.gz *.zip *.Z
+
Açıklama: | Dosyanın MIME kodlamasına göre seçilen simgenin yerinde +gösterilecek metni belirler. |
---|---|
Sözdizimi: | AddAltByEncoding metin MIME-kodlaması
+[MIME-kodlaması] ... |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
AddAltByEncoding
yönergesi, FancyIndexing
seçeneÄiyle
+ üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek
+ metni belirler. MIME-kodlaması
olarak
+ x-compress
gibi geçerli bir içerik kodlaması
+ belirtilmelidir. EÄer metin
boÅluk karakterleri
+ içeriyorsa tırnak içine ("
veya '
)
+ alınmalıdır. Simge metni simge bulunamadıÄı veya istemci resim
+ gösteremediÄi takdirde ya da kullanıcı resim yüklememeyi tercih etmiÅse
+ gösterilir.
+ AddAltByEncoding gzip x-gzip
+
Açıklama: | Dosyanın MIME türüne göre seçilen simgenin yerinde gösterilecek +metni belirler. |
---|---|
Sözdizimi: | AddAltByType metin MIME-türü
+[MIME-türü] ... |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
AddAltByType
yönergesi, FancyIndexing
seçeneÄiyle
+ üretilen dizin listesinde bir dosya simgesinin yerinde gösterilecek
+ metni belirler. MIME-türü
olarak
+ text/html
gibi geçerli bir içerik türü belirtilmelidir.
+ EÄer metin
boÅluk karakterleri içeriyorsa tırnak
+ içine ("
veya '
) alınmalıdır. Simge metni
+ simge bulunamadıÄı veya istemci resim gösteremediÄi takdirde ya da
+ kullanıcı resim yüklememeyi tercih etmiÅse gösterilir.
+ AddAltByType 'salt metin' text/plain
+
Açıklama: | Bir dosya için gösterilecek açıklama belirtilir. |
---|---|
Sözdizimi: | AddDescription metin dosya [dosya] ... |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
Yönerge, FancyIndexing
seçeneÄiyle üretilen dizin listesinde bir
+ dosya için gösterilecek açıklamayı belirler. dosya
+ olarak dosya türünü betimleyecek bir dosya uzantısı, dosya isminin bir
+ kısmı, bir dosya ismi kalıbı veya tam yoluyla bir dosya ismi
+ belirtilebilir. EÄer dosya açıklamasını içeren
+ metin
boÅluk karakterleri içeriyorsa çift tırnak
+ ("
) içine alınmalıdır.
+ AddDescription "Mars Gezegeni" /resimler/mars.gif
+
Normalde öntanımlı açıklama alanının geniÅliÄi 23 bayttır. IndexOptions SuppressIcon
+ seçeneÄi buna 6 bayt daha ekler; IndexOptions SuppressSize
+ seçeneÄi 7 bayt, IndexOptions SuppressLastModified
seçeneÄi ise 19 bayt
+ ekler. Böylece en fazla 55 karakterlik öntanımlı sütun geniÅliÄine
+ ulaÅılabilir.
Açıklama sütununun öntanımlı geniÅliÄi geçersiz kılınabilir hatta
+ sınırsız açıklama uzunluÄu atanabilir. Bu konu için IndexOptions
yönergesinin DescriptionWidth
+ seçeneÄinin açıklamasına bakınız.
AddDescription
ile tanımlanan açıklama metni
+ HTML etiketleri ve karakter öÄeleri içerebilir. EÄer açıklama
+ sütununun geniÅlik sınırlamasından dolayı bir HTML etiketinin içeriÄi
+ kırpılırsa bu durum dizin listesinin kalanını etkileyebilir (örneÄin,
+ kalın gösterim listenin kalanına yayılabilir).
Açıklama: | Bir dosya için gösterilecek simgeyi dosya adına göre belirler. + |
---|---|
Sözdizimi: | AddIcon simge isim [isim]
+... |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
Yönerge, FancyIndexing
seçeneÄiyle üretilen dizin listesinde adı
+ isim
ile biten bir dosya için gösterilecek simgeyi
+ belirler. simge
ya simgenin göreli URLâsi (%
+ öncelemeli) ya da (alt-metin,url)
+ biçeminde olmalıdır; buradaki alt-metin
simge
+ gösterilemediÄi durumda tarayıcı tarafından simgenin yerinde
+ gösterilecek metindir.
isim
olarak ya (listeyi düzgün biçemlemek
+ amacıyla) dizinler için ^^DIRECTORY^^
, boŠsatırlar için
+ ^^BLANKICON^^
ya da dosya türünü betimleyecek bir dosya
+ uzantısı, dosya isminin bir kısmı, bir dosya ismi kalıbı veya tam
+ yoluyla bir dosya ismi belirtilebilir.
+ AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm
+ AddIcon /icons/dir.xbm ^^DIRECTORY^^
+ AddIcon /icons/backup.xbm *~
+
Mümkünse AddIcon
yerine AddIconByType
yönergesi tercih
+ edilmelidir.
Açıklama: | Bir dosya için gösterilecek simgeyi dosyanın MIME kodlamasına +göre belirler. |
---|---|
Sözdizimi: | AddIconByEncoding simge MIME-kodlaması
+[MIME-kodlaması] ... |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
Yönerge, FancyIndexing
seçeneÄiyle üretilen dizin listesinde bir
+ dosya için gösterilecek simgeyi belirler. simge
ya
+ simgenin göreli URLâsi (% öncelemeli) ya da
+ (alt-metin,url)
biçeminde olmalıdır;
+ buradaki alt-metin
simge gösterilemediÄi durumda
+ tarayıcı tarafından simgenin yerinde gösterilecek metindir.
MIME-kodlaması
olarak x-compress
+ gibi geçerli bir içerik kodlaması belirtilmelidir.
+ AddIconByEncoding /icons/compress.xbm x-compress
+
Açıklama: | Bir dosya için gösterilecek simgeyi dosyanın MIME türüne göre +belirler. |
---|---|
Sözdizimi: | AddIconByType simge MIME-türü
+[MIME-türü] ... |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
Yönerge, FancyIndexing
seçeneÄiyle üretilen dizin listesinde MIME
+ türü MIME-türü
olarak belirtilen bir dosya için
+ gösterilecek simgeyi belirler. simge
ya simgenin
+ göreli URLâsi (% öncelemeli) ya da
+ (alt-metin,url)
biçeminde olmalıdır;
+ buradaki alt-metin
simge gösterilemediÄi durumda
+ tarayıcı tarafından simgenin yerinde gösterilecek metindir.
MIME-türü MIME türleri ile eÅleÅen bir dosya kalıbı ifadesi + olabilir.
+ +
+ AddIconByType (IMG,/icons/image.xbm) image/*
+
Açıklama: | Ãzel bir simge atanmamıŠdosyalar için gösterilecek simgeyi +belirler. |
---|---|
Sözdizimi: | DefaultIcon URL-yolu |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
The DefaultIcon
yönergesi FancyIndexing
seçeneÄiyle
+ üretilen dizin listesinde özel bir simge atanmamıŠdosyalar için
+ gösterilecek simgeyi belirler. URL-yolu
simgeye
+ bir göreli URL (% öncelemeli) belirtir.
+ DefaultIcon /icon/unknown.xbm
+
Açıklama: | Dizin listesinin tepesine yerleÅtirilecek dosyanın ismini +belirler. |
---|---|
Sözdizimi: | HeaderName dosya-ismi |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
HeaderName
yönergesi, dizin listesinin tepesine
+ yerleÅtirilecek dosyanın ismini belirler. Dosyanın ismi
+ dosya-ismi
ile belirtilir.
+ HeaderName HEADER.html
+
HeaderName
and ReadmeName
yönergelerinde
+ dosya-ismi
artık içeriÄi listelenecek dizine
+ eriÅmek için kullanılan bir göreli URL yolu olarak ele alınmaktadır.
+ EÄer dosya-ismi
bir bölü çizgisi ("/") ile
+ baÅlıyorsa DocumentRoot
+ yönergesinde belirtilen dizine göre belirtildiÄi varsayılır.
+ HeaderName /include/HEADER.html
+
dosya-ismi
, içerik türü text/*
+ (text/html
, text/plain
gibi) olan bir belge
+ olarak çözümlenmelidir. Yani, aÅaÄıdaki örnekteki gibi betiÄin asıl
+ dosya türü text/html
olarak imlenmiÅse
+ dosya-ismi
bir CGI betiÄinin ismi bile
+ olabilir:
+ AddType text/html .cgi
+
Options
ile
+ MultiViews
etkin kılınmıÅsa dosyaya içerik dili uzlaÅımı da
+ uygulanabilir. dosya-ismi
ile belirtilen dosya
+ text/html
türünde duraÄan bir belge (bir CGI betiÄi
+ deÄil) ise ve options
ile
+ Includes
ve IncludesNOEXEC
seçeneklerinden
+ biri belirtilmiÅse dosya bir SSI sayfası olarak ele alınır
+ (mod_include
belgesine bakınız).
EÄer yönergede belirtilen dosya bir HTML belge gibi baÅlıyorsa
+ (<html>, <head>, vs.) ve bu etiketlerin yinelenmemesini
+ istiyorsanız IndexOptions +SuppressHTMLPreamble
ataması yapmanız
+ gerekecektir.
Açıklama: | Dizin içerik listesinden gizlenecek dosyaların listesi belirtilir. + |
---|---|
Sözdizimi: | IndexIgnore dosya [dosya] ... |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
IndexIgnore
yönergesi, dizin içerik listesinden
+ gizlenecek dosyaların listesini belirtmek için kullanılır.
+ dosya
olarak kabuk tarzı bir dosya ismi kalıbı
+ veya tam yoluyla bir dosya ismi belirtilebilir. Evvelce yapılmıŠbir
+ atamada deÄiÅiklik yapmak yerine birden fazla
+ IndexIgnore
ataması yapabilirsiniz. Liste
+ öntanımlı olarak içinde bulunulan dizini (./
) içerir.
+ IndexIgnore README .htaccess *.bak *~
+
Açıklama: | Dizin içerik listesini yapılandıracak seçenekler belirtilir. + |
---|---|
Sözdizimi: | IndexOptions [+|-]seçenek [[+|-]seçenek]
+... |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
IndexOptions
yönergesi dizin içerik listesinin
+ davranıÅını belirler. seçenek
olarak Åunlar
+ belirtilebilir:
Charset=karakter-kümesi
(Apache 2.0.61
+ ve sonrası)Charset
seçeneÄi üretilen sayfa için bir karakter
+ kümesi belirtebilmenizi saÄlar. Dizinin bulunduÄu dosya sisteminin
+ karakter kodlamasına baÄlı olarak öntanımlı deÄeri ya
+ ISO-8859-1 ya da UTF-8âdir.
+
+
+ IndexOptions Charset=UTF-8
+
Type=MIME-türü
(Apache 2.0.61 ve
+ sonrası)Type
seçeneÄi üretilen sayfa için bir MIME türü
+ belirtebilmenizi saÄlar. Ãntanımlı deÄer text/htmlâdir.
+
+
+ IndexOptions Type=text/plain
+
DescriptionWidth=[n | *]
+ (Apache 2.0.23 ve sonrası)DescriptionWidth
seçeneÄi üretilen sayfada açıklama
+ sütununun geniÅliÄini sizin belirleyebilmenizi saÄlar. Bu seçenek
+ kullanılmadıÄında veya -DescriptionWidth
olarak
+ belirtildiÄinde uygun geniÅliÄi mod_autoindex
+ hesaplar.
DescriptionWidth=n
ile açıklama sütununun
+ geniÅliÄi n
baytla sınırlanır.
DescriptionWidth=*
ile açıklama sütununun geniÅliÄi en
+ uzun açıklama metni sıÄacak Åekilde arttırılır.
Sütun geniÅliÄinin sabitliÄi nedeniyle metnin
+ kırpılmasından kaynaklanan sorunlar için AddDescription
yönergesinin
+ açıklamasına bakınız.
FancyIndexing
FoldersFirst
+ (Apache 2.0.23 ve sonrası)FoldersFirst
etkinse Zed
dizini listede
+ Beta
dizininden ve Gamma
ve
+ Alpha
dosyalarından önce yer alacaktır. Bu
+ seçenek sadece FancyIndexing
seçeneÄi etkinse etkili
+ olacaktır.HTMLTable
+ (Deneysel, Apache 2.0.23 ve sonrası)FancyIndexing
seçeneÄi ile birlikte süslü listeleme
+ için basit bir tablo oluÅturur. Fakat bu eski tarayıcıları yanıltır.
+ Bununla birlikte, Linux, WinNT gibi saÄdan sola veya soldan saÄa yazım
+ yönünün UTF-8 karakter koduna göre deÄiÅtiÄi platformlarda dosya
+ isimleri ve açıklamalar için bu özellikle gerekli olabilir.IconsAreLinks
FancyIndexing
seçeneÄi ile birlikte süslü
+ listelemede dosya simgesini dosyaya bir hiper baÄ haline getirir.IconHeight[=benek-sayısı]
IconWidth
seçeneÄi ile
+ kullanıldıÄında dosya simgesinin img
etiketinin
+ height
ve width
özniteliklerini içermesine
+ sebep olur. Böylece tarayıcının tüm simgelerin yüklenmesini beklemeden
+ sayfa yerleÅimi için bir ön hesaplama yapabilmesi mümkün olur. Seçenek
+ bir deÄer belirtilmeksizin kullanıldıÄında Apache tarafından atanmıÅ
+ standart simge yüksekliÄi öntanımlıdır.IconWidth[=benek-sayısı]
IconHeight
seçeneÄi ile
+ kullanıldıÄında dosya simgesinin img
etiketinin
+ height
ve width
özniteliklerini içermesine
+ sebep olur. Böylece tarayıcının tüm simgelerin yüklenmesini beklemeden
+ sayfa yerleÅimi için bir ön hesaplama yapabilmesi mümkün olur. Seçenek
+ bir deÄer belirtilmeksizin kullanıldıÄında Apache tarafından atanmıÅ
+ standart simge geniÅliÄi öntanımlıdır.IgnoreCase
IgnoreCase
+ etkinse Zeta dosyası alfa dosyasından sonra listelenir (Dikkat: GAMMA
+ daima gammaâdan önce listelenir.)IgnoreClient
mod_autoindex
âin listenin sıralanmasına
+ etki edenler dahil tüm sorgu deÄiÅkenlerini yoksaymasına sebep olur
+ (örtük olarak SuppressColumnSorting
uygulanır).NameWidth=[n | *]
NameWidth
seçeneÄi dosya ismi sütunu için bir
+ geniÅlik belirtebilmenizi mümkün kılar.
Hiç belirtilmediÄinde veya -NameWidth
biçeminde
+ belirtildiÄinde mod_autoindex
uygun geniÅliÄi kendisi
+ hesaplayacaktır.
NameWidth=n
ile sütun geniÅliÄi
+ n
bayt geniÅlikte sabitlenir.
NameWidth=*
olduÄunda ise sütun geniÅliÄi en geniÅ
+ satırın sıÄacaÄı kadar arttırılır.
ScanHTMLTitles
AddDescription
ile bir açıklama tanımlanmımıÅsa httpd
+ belgenin title
etiketinin içeriÄini okuyacaktır. Bu
+ seçenek iÅlemciyi ve diski fazla meÅgul eder.ShowForbidden
HTTP_UNAUTHORIZED
veya
+ HTTP_FORBIDDEN
döndürdüÄünden dolayı normalde gizli olan
+ dosyalar bu seçenek belirtilmiÅse listede gösterilir.SuppressColumnSorting
IndexOptions
+ IgnoreClient
ile saÄlanmaktadır.SuppressDescription
AddDescription
+ yönergesinin açıklamasına bakınız. Ayrıca, açıklama sütununun
+ geniÅliÄini ayarlayan DescriptionWidth
dizin listeleme seçeneÄine de
+ bakınız.SuppressHTMLPreamble
HeaderName
yönergesi ile belirtilmiŠbir dosya içeriyorsa
+ modül normal olarak bu dosyanın içeriÄinin öncesine HTML baÅlangıç
+ etiketlerini (<html>
, <head>
,
+ vs.) yerleÅtirir. Bu seçenek bu davranıÅı iptal ederek modülün dosya
+ içeriÄinin baÅlangıcına bir Åey eklememesini saÄlar. Bu durumda baÅlık
+ dosyasının uygun HTML etiketlerini içermesi gerekir. Böyle bir baÅlık
+ dosyası yoksa normal olarak HTML baÅlangıç etiketleri üretilir.SuppressIcon
+ (Apache 2.0.23 ve sonrası)pre
+ etiketinin içeriÄinde img
ve hr
+ etiketlerinin bulunmasına izin vermediÄinden SuppressIcon
+ ve SuppressRules
seçenekleri birlikte kullanılarak HTML
+ 3.2 belirtimine uyum saÄlanır.SuppressLastModified
SuppressRules
+ (Apache 2.0.23 ve sonrası)hr
etiketinin kullanımını engeller.
+ Son belirtim, süslü dizin listelemede kullanılan pre
+ etiketinin içeriÄinde img
ve hr
+ etiketlerinin bulunmasına izin vermediÄinden SuppressIcon
+ ve SuppressRules
seçenekleri birlikte kullanılarak HTML
+ 3.2 belirtimine uyum saÄlanır.SuppressSize
TrackModified
+ (Apache 2.0.23 ve sonrası)Last-Modified
ve ETag
alanlarının dönmesini
+ saÄlar. Sadece iÅletim sistemi veya dosya sistemi uygun stat()
+ sonuçlarını döndürüyorsa bu geçerlidir. Bazı Unix sistemleri, OS2ânin
+ JFSâsi ve Win32ânin NTFSâi böyledir. Ancak OS2 ve Win32 FAT dosya
+ sistemleri böyle deÄildir. Bu özellik etkin kılındıÄında istemci veya
+ vekil HEAD
istekleriyle dosya listesindeki deÄiÅiklikleri
+ izleyebilirler. Yalnız, bazı iÅletim sistemlerinin yeni ve silinmiÅ
+ dosyaların izini iyi sürdüÄü halde dizin içindeki dosyaların boyut ve
+ tarih deÄiÅikliklerini izlemediklerine dikkat ediniz. Mevcut
+ bir dosyanın boyut ve zaman damgasındaki deÄiÅiklikler
+ Last-Modified
baÅlıÄının güncellenmesini tüm Unix
+ sistemlerinde saÄlamaz. Bu gibi durumlarda bu seçeneÄin
+ kapalı kalması daha iyidir.VersionSort
+ (Apache 2.0a3 ve sonrası)VersionSort
seçeneÄi isimlerinde sürüm numarası bulunan
+ dosyaların sayısal sıralamaya uygun olarak sıralanmalarını saÄlar.
+ Normalde sıralama karakter sıralamasına göre yapılır, ardından sürüm
+ numaralı dosyalar veya açıklamalar kendi aralarında sayısal sıralamaya
+ tabi tutulur.
+
+
+ foo-1.7
+ foo-1.7.2
+ foo-1.7.12
+ foo-1.8.2
+ foo-1.8.2a
+ foo-1.12
+
Sıfır ile baÅlalan numaralara ondalık sayı muamelesi yapılır:
+ +
+ foo-1.001
+ foo-1.002
+ foo-1.030
+ foo-1.04
+
XHTML
+ (Apache 2.0.49 ve sonrası)XHTML
seçeneÄi mod_autoindex
âin kodu
+ HTML 3.2âye deÄil XHTML 1.0âa uygun üretmesini saÄlar.+
veya -
Ãnekli SeçeneklerApache 1.3.3âte IndexOptions
yönergelerinin ele
+ alınıÅıyla ilgili önemil deÄiÅiklikler yapılmıÅtır. Bunlar:
IndexOptions
+ yönergesi belirtilmiÅse bunlar ayrı ayrı deÄil birlikte ele alınır.
+ Yani,
+
+
+ <Directory /foo>
+
+ IndexOptions HTMLTable
+ IndexOptions SuppressColumnsorting
+
+ </Directory>
+
yapılandırmasındaki IndexOptions
+ yönergeleri
+ IndexOptions HTMLTable SuppressColumnsorting
+
yönergesine eÅdeÄerdir.
++
veya -
önekleri
+ kullanılabilmektedir.+
veya -
önekli seçeneklere rastlandıÄında
+ bunlar mevcut (üst dizinden miras alınanlar ve/veya önceki atamalar)
+ IndexOptions
yönergelerine uygulanır. Ancak,
+ önek kullanılmamıŠbir seçeneÄe raslandıÄında, o noktada önceki ve
+ miras alınmıŠbu tür seçenekler iptal edilir. Åu örneÄi ele alalım:
+ IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
+ IndexOptions +SuppressSize
+
Bunun net etkisi IndexOptions FancyIndexing +SuppressSize
+ atamasına eÅdeÄerdir, çünkü öneksiz FancyIndexing
seçeneÄi
+ kendinden önceki önekli seçenekleri iptal etmiŠfakat hemen ardından
+ eklenmelerine izin vermiÅtir.
Belli bir dizine önceki seçenekleri temizleyerek koÅulsuz olarak
+ tamamen yeni seçenekler atamak istiyorsanız
+ IndexOptions
yönergesinde seçenekleri
+ +
veya -
öneklerini kullanmadan
+ belirtiniz.
Açıklama: | Dizin içerik listesinin öntanımlı sıralamasını belirler. + |
---|---|
Sözdizimi: | IndexOrderDefault Ascending|Descending
+Name|Date|Size|Description |
Ãntanımlı: | IndexOrderDefault Ascending Name |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
IndexOrderDefault
yönergesi FancyIndexing
seçeneÄinin
+ etkin olduÄu durumda iÅe yarar. Ãntanımlı olarak süslü listelemede dizin
+ içeriÄi dosya ismine göre artan sıralamayla listelenir.
+ IndexOrderDefault
yönergesi bu öntanımlı
+ sıralamanın deÄiÅtirilmesini mümkün kılar.
IndexOrderDefault
yönergesi iki deÄer alır. İlki
+ sıralama yönünü belirtmek üzere Ascending
(küçükten büyüÄe)
+ veya Descending
(büyükten küçüÄe) olmak zorundadır. İkinci
+ deÄer ise birincil sıralama anahtarını belirtmek üzere Name
,
+ Date
, Size
ve Description
+ sözcüklerinden biri olmalıdır (anlamları sırayla: İsim, Tarih, Boyut,
+ Açıklama). İkincil sıralama anahtarı daima artan sıralamayla
+ dosya ismidir.
Dizin listesinin belli bir sırada gösterilmesini zorunlu kılmak için
+ yönergeyi SuppressColumnSorting
sıralama seçeneÄi ile birlikte
+ belirtebilirsiniz; böylece, istemcinin farklı sıralamalara sahip içerik
+ isteÄini engellemiÅ olursunuz.
Açıklama: | Dizin listesine bir biçembent ekler. |
---|---|
Sözdizimi: | IndexStyleSheet url-yolu |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
IndexStyleSheet
yönergesi dizin listelemesi için
+ kullanılacak biçembent dosyasının ismini belirtmek için kullanılır.
+ IndexStyleSheet "/css/style.css"
+
Açıklama: | Dizin listesinin sonuna yerleÅtirilecek dosyanın ismini +belirler. |
---|---|
Sözdizimi: | ReadmeName dosya-ismi |
BaÄlam: | sunucu geneli, sanal konak, dizin, .htaccess |
GeçersizleÅtirme: | Indexes |
Durum: | Temel |
Modül: | mod_autoindex |
ReadmeName
yönergesi dizin listesinin sonuna
+ eklenecek dosyanın ismini belirler. dosya-ismi
ile
+ listeye dahil edilecek dosyanın ismi listelenen dizine göreli olarak
+ belirtilir. EÄer dosya ismi bir bölü çizgisi ile baÅlıyorsa DocumentRoot
âa göreli belirtildiÄi
+ varsayılır.
+ ReadmeName FOOTER.html
+
+ ReadmeName /include/FOOTER.html
+
Ayrıca bu davranıÅın daha ayrıntılı ele alındıÄı HeaderName
yönergesine de
+ bakınız.