htaccess sayfasına erişimi kapatın. htaccess örnekleri

htaccess sayfasına erişimi kapatın. htaccess örnekleri

.htaccess dosyası, her web sitesi yöneticisinin bilmesi ve anlaması gereken dosyalardan biridir. Açık temel Seviye site klasörlerine erişimi kontrol eder. Ancak htaccess'in sizin için çözebileceği daha birçok görev var.

1. Dosyalara ve dizinlere erişimi yönetin

Parola koruması konunun bir yönüdür, ancak bazen kullanıcının belirli dosyalara veya dizinlere erişmesini tamamen engellemek gerekir. Bu tür görevler genellikle, include gibi sistem klasörleri için gerçekleşir. Uygulamanın bunlara erişimi olmalıdır ve kullanıcı tüm ayrıcalıkları kaybeder.

Sorunu çözmek için .htaccess dosyasına aşağıdaki kodu ekleyin ve istediğiniz dizine kaydedin:

Ancak böyle bir hareket, siz de dahil olmak üzere herkesin erişimini engeller. Kendinize erişim sağlamak için IP adresinizi belirtmeniz gerekir. İşte kod:

xxx.xxx.xxx.xxx'ten tüm izinlerden sipariş reddet, izin ver reddet

xxx.xxx.xxx.xxx IP adresinizdir. Örneğin, son üç haneyi 0/12 ile değiştirirseniz, aynı ağdaki IP adreslerinin aralığı belirtilir. Ancak bu yaklaşım sorunlara yol açabilir, bu nedenle IP adresleri listesini ayrı ayrı belirtmek daha iyidir.

.htaccess'in kendisi de dahil olmak üzere belirli bir dosyayı engellemeniz gerekiyorsa aşağıdaki kodu kullanın:

sipariş ver, reddet, hepsini reddet

Benzer şekilde, belirli IP adreslerinden erişime izin vermeniz gerekiyorsa, bunları allow from ile listeleyin.

Belirli dosya türlerine erişimi engellemeniz gerekirse, aşağıdaki kodu kullanın:

Sipariş İzin Ver, Reddet Tümünden Reddet

2. Dizin taramayı devre dışı bırakın

Bir dizinin içeriğini görüntülemeyi devre dışı bırakmak için aşağıdaki kodu kullanın:

Seçenekler Tüm Dizinler

Ancak herhangi bir nedenle dizin taramasına izin vermeniz gerekirse, aşağıdaki kodu kullanın:

Seçenekler Tümü +Dizinler

3. Dosya Sıkıştırma ile İndirmeleri Hızlandırın

Yalnızca görüntüleri değil, herhangi bir dosyayı sıkıştırabilirsiniz. Örneğin, sıkıştırmak için HTML dosyaları aşağıdaki kodu kullanın:

AddOutputFilterByType DEFLATE metin/html

Ve metin sıkıştırma için:

AddOutputFilterByType DEFLATE metin/düz

Ayrıca sıkıştırılabilir JavaScript dosyaları veya arşivleme için birden çok dosya türü tanımlayın:

AddOutputFilterByType DEFLATE uygulaması/javascript AddOutputFilterByType DEFLATE uygulaması/rss+xml

Alternatif olarak, tüm HTML, JavaScript, CSS ve diğer dosyaları GZIP ile sıkıştırabilirsiniz:

mod_gzip_on Evet mod_gzip_dechunk Evet mod_gzip_item_include dosya \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include işleyici ^cgi-script$ mod_gzip_item_include mime ^text\.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^ image\.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

4. Siteyi sıcak bağlantıdan koruma

Resimlerin sitenizden hotlink ile bağlanmasını önlemek istiyorsanız, .htaccess dosyanıza aşağıdaki satırları ekleyin:

RewriteCond üzerinde RewriteEngine %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http(s)?://(www\.)?yourdomain.ru RewriteRule \.(jpg|jpeg|png|gif)$ -

Etkialaniniz.ru'yu alan adınızla değiştirmeniz yeterlidir.

5. Belirli bir alandan yönlendirilen kullanıcıları engelleme

Belirli bir alan adının kullanıcılarını kabul etmezseniz, sitenizden yasaklanabilirsiniz. Örneğin, siteniz trafiğin istenmediği listedeyse (örneğin, pornografik siteler, neo-Nazi kaynakları vb.), 403 sayfasını kullanarak engelleyebilirsiniz (erişim reddedildi). Mod_rewrite'ın etkinleştirilmesi gerekir (genellikle etkindir). Kod ekleme:

RewriteCond üzerinde RewriteEngine %(HTTP_REFERER) banurl1.com RewriteCond %(HTTP_REFERER) banurl2.com RewriteRule .* - [F]

Banurl1.com ve banurl2.com'u kara listenizdeki alan adlarıyla değiştirmeniz gerekir. Bayrak, alan adının büyük/küçük harfe duyarlı olmadığını belirtir ve [F] bayrağı eylemi belirler - örneğimizde, bir 403 sayfası görüntüleniyor. Birden fazla siteyi yasaklamanız gerekiyorsa, sonuncusu da dahil olmak üzere her alan için bayrağı kullanın. . Yalnızca bayrak, yalnızca bir etki alanını yasaklamak için kullanılabilir.

6. Belirli temsilcilerden gelen istekleri engelleme

Günlüğünüz, bazı kullanıcı aracılarının (robotlar veya örümcekler) sevmediğiniz eylemleri hakkında girişler içeriyorsa, .htaccess dosyasına birkaç satır ekleyebilir ve bu tür aracıların sitenize erişmesini engelleyebilirsiniz:

RewriteEngine On RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase User-Agent "^badbot3" bad_user Deny from env=bad_user

7. Dosya önbelleğe alma

Sitenizin yüklenmesini hızlandırmanın başka bir yöntemi de dosyaları önbelleğe almaktır. Önbelleğe almayı etkinleştirmek için .htaccess dosyasına eklenmesi gerekenler:

Başlık, Cache-Control "max-age=2592000" ayarını yaptı

Örnekteki listeye dosya türleri ekleyebilir (veya bazılarını kaldırabilirsiniz). Dosyalarınızın önbellekte saklanacağı süreyi saniye cinsinden belirtmek için max-age'i de kullanabilirsiniz.

8. Belirli dosya türleri için önbelleğe almayı devre dışı bırakın

Belirli dosya türlerini önbelleğe almanız gerekmiyorsa, onları listenin dışında bırakabilirsiniz. Ancak bazen dosyalar, siz onları listede bildirmemiş olsanız bile önbelleğe alınabilir. Bu gibi durumlarda, yalnızca bu tür dosyalar için önbelleğe almayı devre dışı bırakabilirsiniz. Çoğu durumda, komut dosyaları gibi dinamik dosyalar için önbelleğe almayı devre dışı bırakmak istersiniz. İşte kod:

Başlık ayarını kaldır Cache-Control

Listeye önbelleğe alınması gerekmeyen dosya türlerini eklemeniz yeterlidir.

9. İndirme iletişim kutusunu atlayın

Varsayılan olarak, bir web sunucusundan bir dosya indirdiğinizde, dosya üzerinde işlem yapmanızı (kaydet veya aç) isteyen bir iletişim kutusu görüntülenir. Bu iletişim kutusu, büyük medya dosyalarını yüklerken çok can sıkıcıdır veya PDF belgeleri. Dosyalar, kullanıcının indirmesi için sunucunuza yüklendiyse, işleme hemen başlayabilirsiniz. .htaccess dosyasına aşağıdaki satırları koymanız gerekir:

AddType uygulaması/octet-stream .pdf AddType uygulaması/octet-stream .zip AddType uygulaması/octet-stream .mp3

10. .htaccess dosyasını yeniden adlandırın

Genellikle güvenlikle ilgili bazı nedenlerden dolayı .htaccess dosyasını yeniden adlandırmak gerekebilir. Bunu yapmak çok kolay. Teorik olarak, .htaccess dosyasının yeniden adlandırılması, sunucunuzdaki uygulamaları çalıştırırken sorunlara neden olmaz, ancak böyle bir durum olursa, yalnızca orijinal adı geri yüklemeniz gerekir.

ErişimDosyaAdı htac.cess

Ayrıca dosyanın kendisindeki ve .htaccess'in geçtiği tüm oluşumları güncellemeniz gerekir, aksi takdirde çok fazla hata olacaktır.

11. Varsayılan dizin sayfasını değiştirin

İndeks sayfasının varsayılan index.html , index.php , index.htm vb.'den farklı olmasına ihtiyacınız varsa, bu görev kolayca çözülür. .htaccess dosyasına eklenmesi gerekenler:

DirectoryIndex sayfam.html

mypage.html'yi istediğiniz sayfanın URL'si ile değiştirin.

12. Güvenli https bağlantısına yönlendirin

https kullanıyorsanız ve tüm kullanıcıların buna yönlendirilmesini istiyorsanız, aşağıdaki kod size yardımcı olacaktır:

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

13. PHP yükleme dosya boyutu sınırı, maksimum istek boyutu ve maksimum komut yürütme süresi

htaccess, PHP uygulamalarını etkileyen bazı değerleri belirlemenizi sağlar. Örneğin, barındırma alanından tasarruf etmek için PHP yüklemelerini sınırlamanız gerekiyorsa, aşağıdaki kodu kullanın:

php_value upload_max_filesize 15M

Elbette istediğiniz değeri ayarlayabilirsiniz, örneğimizde 15M (MB) sabit değildir. PHP'de yükleme için maksimum istek boyutunu da sınırlayabilirsiniz:

php_value post_max_size 10M

10M'yi istediğiniz değere değiştirin.

Komut dosyasının sonsuza kadar çalışmasını istemiyorsanız çalışma süresini sınırlayabilirsiniz:

php_value max_execution_time 240

240 - komut dosyası kesintiye uğramadan önceki saniye sayısı.

Komut dosyasının girilen verileri ayrıştırma süresini sınırlamak istiyorsanız, aşağıdaki satırı kullanın:

php_value max_input_time 180

14. Dosya türlerini maskeleme

Bazen sunucudaki dosya türlerini kullanıcıdan gizlemeniz gerekir. Sorunu çözmenin bir yolu onları gizlemektir. Örneğin, bunu yapabilirsiniz. tüm dosyaların HTML veya PHP gibi görüneceğini:

ForceType uygulaması/x-httpd-php ForceType uygulaması/x-httpd-php

Çözüm

.htaccess'in çözebileceği daha birçok görev var. Örneğin, site sayfalarının otomatik çevirisini veya bir saat dilimini ayarlayabilir veya www'den www'yi kaldırabilirsiniz. URL'ler, ve daha fazlası. Ancak .htaccess ile deneme yapmaya başlamadan önce her zaman yapmanız gerekir. destek olmak orijinal, böylece orijinal koda geri dönebilirsiniz.

Her web geliştiricisi .htaccess dosyasının amacını bilir. Temel düzeyde, site dizinlerine erişimi kontrol etmenizi sağlar. Ancak ona çeşitli ek kod parçacıkları ekleyerek, onunla başka birçok ilginç şey yapılabilir.

Amaç hakkında temel bilgilere ihtiyacınız varsa verilen dosya, o zaman makalemizden .htaccess'e giriş yapabilirsiniz ( Bu makaleyi çevirmedim, çünkü temel bilgiler var, Web'in Rusça konuşulan bölümünde bunlardan yeterince var, ancak ilgi gösterilirse, resmi tamamlamak için de çevrilebilir - yakl. çevirmen), uygulamasının tüm yönlerinin yeterli ayrıntıda açıklandığı.

Yani, faydalı kullanım örnekleri. htaccess:

1. Dosyalara ve dizinlere erişimi yönetin
Parola koruması bir şeydir, ancak bazen kullanıcıların belirli bir dosya veya klasöre erişmesini tamamen engellemek isteyebilirsiniz. Bu genellikle sistem klasörleri, hangi uygulamaların kullanıcılara erişip erişmemesi gerektiğini içerir.

Bunu yapmak için, yer verilen kod dosyalamak. htaccess dosyasını açın ve erişimi reddettiğiniz dizine kaydedin:

Tümünü reddet
Ancak, siz de dahil olmak üzere tüm kullanıcılar için erişimin engelleneceğini unutmayın. IP adresini girerek belirli bir kullanıcı için erişim açabilirsiniz. İşte bunun için ihtiyacınız olan kod:

xxx.xxx.xxx.xxx'ten tüm izinlerden sipariş reddet, izin ver reddet
nerede xxx. xxx. xxx. xxx sizin IP'nizdir. İzin verilen IP adresi aralıklarını ayarlamak için son üç haneyi değiştirebilirsiniz. Örneğin, bunun yerine "0/12" yazarak, bir ağın IP adres aralığını belirtmiş olursunuz, bu da sizi izin verilen tüm IP adreslerini listeye ayrı ayrı girmek zorunda bırakmaz.

Kendisi de dahil olmak üzere belirli bir dosyaya erişimi engellemek istiyorsanız. htaccess, aşağıdaki kod parçacığını kullanın:

sipariş ver, reddet, hepsini reddet
Erişiminin reddedilmesi gereken belirli IP adreslerini belirtmek istiyorsanız, bunları allow from ile listeleyin.

Belirli bir türdeki dosyalara erişimi engellemek istiyorsanız şu kodu kullanın:

Sipariş İzin Ver, Reddet Tümünden Reddet

2. Dizinlere göz atma yasağı
Site dizini taramasını engellemek için .htaccess'e aşağıdaki kodu ekleyin:

Seçenekler Tüm Dizinler
Herhangi bir nedenle tüm dizinlerin görüntülenmesine izin vermek istiyorsanız, şu kodu kullanın:

Seçenekler Tümü +Dizinler

3. Dosyaları sıkıştırarak indirme sürelerini hızlandırın
Her türden dosyayı sıkıştırabilirsiniz. Örneğin, HTML dosyalarını sıkıştırmak için aşağıdaki kodu ekleyin:

AddOutputFilterByType DEFLATE metin/html
sıkıştırma için metin dosyaları kullanmak:

AddOutputFilterByType DEFLATE metin/düz
Ayrıca JavaScript'i sıkıştırabilir veya başkaları için sıkıştırmayı etkinleştirebilirsiniz. çeşitli tipler komut içeren dosyalar:

AddOutputFilterByType DEFLATE uygulaması/javascript AddOutputFilterByType DEFLATE uygulaması/rss+xml
Ayrıca tüm JavaScript, HTML ve CSS dosyalarınızı GZIP ile sıkıştırabilirsiniz. Bunu yapmak için aşağıdaki kodu kullanın:

mod_gzip_on Evet mod_gzip_dechunk Evet mod_gzip_item_include dosya \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include işleyici ^cgi-script$ mod_gzip_item_include mime ^text\.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^ image\.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

4. Siteyi diğer kaynaklardan resim eklemekten korumak
Üçüncü taraf kaynaklardan resimlere bağlantı eklenmesini önlemek istiyorsanız, .htaccess dosyasına aşağıdaki kodu ekleyin:

RewriteCond üzerinde RewriteEngine %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ -
Alanadiniz.com'u alan adınızla değiştirmeyi unutmayın.

5. Belirli bir alandan gelen ziyaretçileri engelleme
Sitenizde belirli bir alandaki kullanıcıları görmek istemiyorsanız, onlara erişimi reddedebilirsiniz. Örneğin, istenmeyen kaynaklardan (yetişkinlere yönelik siteler, hacker siteleri vb.) gelen kullanıcılar, 403 Yasaklı bir sayfaya yönlendirilebilir. Bunu yapmak için mod_rewrite etkinleştirilmelidir, ancak genellikle varsayılan olarak etkindir. .htaccess koduna ekleyin:

RewriteCond üzerinde RewriteEngine %(HTTP_REFERER) banurl1.com RewriteCond %(HTTP_REFERER) banurl2.com RewriteRule .* - [F]
Banurl1.com ve banurl2.com'u kara listeye almak istediğiniz alan adlarıyla değiştirmelisiniz. Girdiyi belirtmek için bayrağı kullanabilirsiniz. Alan adı büyük/küçük harf duyarsız. [F] bayrağı, eylemin türünü belirtir, bu durumda 403 Yasak hatasını görüntüler. Birden fazla siteyi yasaklamak istiyorsanız, her alan için bayrak kullanın, tek bir alanı yasaklamak istiyorsanız, yalnızca .

6. Belirli tarayıcılardan gelen istekleri engelleme
Günlük dosyalarınız belirli tarayıcıları ziyaret etmeyle ilgili girdiler içeriyorsa (tarayıcıyı taklit eden botlar veya örümcekler gibi), adresine birkaç satır ekleyerek bunların sitenize erişmesini engelleyebilirsiniz. htaccess:

RewriteEngine On RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase User-Agent "^badbot3" bad_user Deny from env=bad_user
Badbot1, badbot1, vb.'yi günlüğünüzdeki botların adlarıyla değiştirin. Bu, üçüncü taraf programların sitenize erişmesini engelleyecektir.

7. Dosya önbelleğe alma
Dosya önbelleğe alma, sitenizin daha hızlı yüklenmesini sağlamanın başka bir yoludur. .htaccess'te yazmanız gerekenler:

Başlık, Cache-Control "max-age=2592000" ayarını yaptı
Ekleyebilirsin daha fazla tür listelenen dosyalarda bulunan dosyaları (veya bazılarını silin) bu örnek dosyaların listesi. Max-age değişkeni ile dosyaların ne kadar süre önbelleğe alınacağını (saniye olarak) da belirleyebilirsiniz.

8. Şunun için önbelleğe almayı devre dışı bırakın: farklı şekiller Dosyalar
Belirli dosya türlerini önbelleğe almak istemiyorsanız, bunları listeye dahil etmemeyi seçebilirsiniz. Ancak bazen dosyalar, listede açıkça listelenmeden bile önbellekte depolanabilir; bu durumda, onlar için ayrı ayrı önbelleğe almayı devre dışı bırakabilirsiniz. Çoğu zaman, betikler gibi dinamik dosyalar için önbelleğe almayı devre dışı bırakmanız gerekir. Bunun için gerekli olan kod örneği:
Başlık ayarını kaldır Cache-Control
Önbelleğe almayı devre dışı bırakmak istediğiniz dosya türlerini belirtmeniz yeterlidir.
9. İndirme iletişim kutusunu atlayın
Varsayılan olarak, bir web sunucusundan bir dosya indirmeye çalıştığınızda, dosyayı kaydetmek mi yoksa açmak mı istediğinizi soran bir iletişim kutusu görüntülenir. Bu iletişim kutusu, özellikle büyük medya veya PDF dosyalarını indirirken can sıkıcıdır. Sunucuya yüklediğiniz dosyalar sadece indirme amaçlı ise indirmeyi varsayılan işlem olarak ayarlayarak kullanıcıların hayatını kolaylaştırabilirsiniz. A ekle. htaccess'e aşağıdakileri ekleyin:

AddType uygulaması/octet-stream .pdf AddType uygulaması/octet-stream .zip AddType uygulaması/octet-stream .mp3

10. .htaccess dosyasını yeniden adlandırın
Herhangi bir nedenle .htaccess dosyasını yeniden adlandırmak isterseniz, bunu yapabilirsiniz. Teorik olarak, .htaccess dosyasını yeniden adlandırmak sunucunuzda çalışan uygulamalarda herhangi bir soruna neden olmaz, ancak dosyayı yeniden adlandırdıktan sonra komut dosyası hataları fark ederseniz, yeniden adlandırmanız yeterlidir.

ErişimDosyaAdı htac.cess
Ayrıca, .htaccess dosyasından bahseden tüm girişleri güncellemeniz gerekir, aksi takdirde birçok hata alırsınız.

11. Değiştirme başlangıç ​​sayfası alan
yüklemek istiyorsanız ana sayfa varsayılan olanın (index.html, index.php, index.htm, vb.) dışında, .htaccess dosyanıza aşağıdaki kodu ekleyin:

DirectoryIndex sayfam.html
mypage.html'yi ana sayfanız olarak kullanmak istediğiniz sayfanın URL'si ile değiştirin.

12. Güvenli HTTPS bağlantısına yönlendirin
HTTPS kullanıyorsanız ve kullanıcıları sitenizdeki güvenli sayfalara yönlendirmek istiyorsanız, .htaccess dosyanıza aşağıdaki satırları ekleyin:

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

13. PHP'de yüklenen dosyaların maksimum boyutunun, iletilen verilerin maksimum boyutunun, komut dosyalarının maksimum yürütme süresinin vb. sınırlandırılması.
.htaccess, PHP uygulamalarının çalışmasını doğrudan etkileyen bazı değerler belirlemenizi sağlar. Örneğin, barındırmayı büyük dosyalarla tıkamamak için PHP'de yüklenen dosyaların boyutuna bir sınır ayarlamak istiyorsanız:

php_value upload_max_filesize 15M
Herhangi bir değer ayarlayabilirsiniz, örnekte dosya boyutu 15M (MB) ile sınırlıdır. Ek olarak, PHP'de yükleme sırasında aktarılan verilerin maksimum boyutunu sınırlayabilirsiniz:

php_value post_max_size 10M
10M'yi istediğiniz değerle değiştirebilirsiniz. Her zaman çalıştırmak için komut dosyalarına ihtiyacınız yoksa, yürütme sürelerini şu satırla sınırlayabilirsiniz:

php_value max_execution_time 240
240 - yürütme süresi (saniye olarak), ardından komut dosyası durdurulur, bu değeri başka herhangi bir değerle değiştirebilirsiniz. Son olarak, betiğin ham verileri ayrıştırma süresini sınırlamak istiyorsanız aşağıdaki kodu kullanın:

php_value max_input_time 180
180'i istediğiniz zamana (saniye olarak) değiştirin.

14. Dosya türlerini gizleme
Bazen kullanıcıların sitenizde ne tür dosyalar olduğunu bilmemesini istersiniz. Bu bilgiyi gizlemenin bir yolu, tüm dosyalarınızın HTML veya PHP dosyaları olarak görünmesini sağlamaktır:

ForceType uygulaması/x-httpd-php ForceType uygulaması/x-httpd-php
Ve bu, .htaccess'in yapabileceklerinin yalnızca bir kısmıdır, ancak genel olarak çok daha fazlasını yapmanıza izin verir. Örneğin, sitenizin sayfalarını otomatik çeviri yapacak şekilde ayarlayabilir, sunucunun saat dilimini ayarlayabilir, URL'lerden WWW'yi kaldırabilir veya süslü dizin görünümleri kullanabilir, vb. Ancak her durumda, .htaccess dosyasıyla denemeye başlamadan önce, her zaman orijinal .htaccess dosyasının yedek bir kopyasını saklayın, böylece sorun çıkması durumunda siteyi hızlı bir şekilde çalışır duruma getirebilirsiniz.

htaccess dosyası - kurulum ve kullanım örnekleri - 20 oy üzerinden 5 üzerinden 3,7

htaccess dosyası, Apache web sunucusu ve benzeri sunucuların ayarlarını yapılandırmanıza ve geçersiz kılmanıza olanak tanır. Bununla birlikte, sunucunun belirli barındırma kullanıcılarıyla ve hatta üzerinde çalışması için izinler ve parametreler ayarlayabilirsiniz. ayrı klasörler belirli bir kullanıcı

En yaygın olarak eski URL'lerden yenilerine 301 yönlendirmeleri oluşturmak, dosya türünü yeniden eşlemek, kontrollü dizin erişimi ve daha fazlası için kullanılır. htaccess dosyası sayesinde ana yapılandırma dosyasına erişmeniz ve sunucunun bir bütün olarak çalışmasını etkilemeniz gerekmez.

htaccess dosyası nedir ve ne için kullanılır?

Belirtildiği gibi htaccess, Apache ve diğer sunucular için bazı seçenekleri ayarlamak için kullanılır. Büyük ve garip uzantıya rağmen, .htaccess dosyasının özelleştirilmesi, herhangi bir metin düzenleyici kullanılarak içeriği açılıp değiştirilerek yapılır.

htaccess dosyası, her kullanıcının sunucu yapılandırmasını değiştirmesine izin vermek için özel olarak icat edildi, tüm sunucuyu değil yalnızca kendi sitesini etkiledi. Herkes ana Apache yapılandırma direktiflerinin httpd.conf dosyasında olduğunu bilir. Bununla birlikte, çoğu kullanıcı ve sanal barındırma hakkında konuşursak, o zaman tüm kullanıcılar buna erişme fırsatına ve değiştirme haklarına sahip değildir, çünkü bu eylem herkes için geçerli olacaktır.

Bir htaccess dosyasına genellikle dinamik dosya denir. Bunun nedeni, sunucunun içeren dizini sorgulaması gerektiğinde sunucuya erişmesi gerektiğidir. Belki de bu önemli bir avantajdır, çünkü kullanıcı tarafından dosyada yapılan değişiklikler sunucuyu yeniden başlatmaya gerek kalmadan hemen geçerli olacaktır. Ana yapılandırma dosyasında değişiklik yapılırsa, bunların etkili olabilmesi için sunucunun yeniden başlatılması ön koşuldur.

Tabii ki, her şey istediğimiz kadar sorunsuz değil, çünkü htaccess kullanımı sunucu performansını biraz etkiliyor, ancak şu durumda kapalı erişim ana yapılandırma dosyasına, Bu method parametreleri değiştirmek için en basit ve en uygun yöntemdir.

htaccess kullanmanın bazı özellikleri:

1. Yeniden tanımlanabilir çok sayıda ana httpd.confg dosyasındaki yönergeler

2. htaccess dosyasını kök dizine yerleştirirseniz, tüm siteye yayılır (tek istisna, kendi yapılandırma dosyasının bulunduğu dizinler ve ağaç yapısında aşağıda bulunan dizinlerdir)

3. htaccess dosyasını herhangi bir dizine yerleştirebilirsiniz ve yönergeleri tüm alt dizinlere uygulanacaktır.

4. Htaccess, "sistem" kategorisine ait olduğu için kullanıcının tarayıcıdan görüntülemesine açık değildir.

Böylece, ile htaccess kullanıcı kendi sunucusunu kurma esnekliğine sahip olur ve aşağıdaki seçenekleri uygulayabilir:

  • Basit yeniden yönlendirme yönergeleri (yönlendirme);
  • Karmaşık yeniden yönlendirme yönergeleri (mod_rewrite);
  • Dizin sayfaları;
  • Hata işleme;
  • Kodlama tanımı;
  • Dizinlere ve dosyalara erişimi yönetin;
  • Dizin parola koruması;
  • PHP seçenekleri.

htaccess dosyasının en yaygın kullanım örnekleri

Şimdi bir siteyi özelleştirmek için htaccess kullanmak için en yaygın çalışma seçeneklerine bakacağız.

Başlamadan önce aşağıdaki noktalara dikkat edin:

2. oluşturmak için yeni dosya htaccess uzantısıyla, not defteri veya başka bir tane açmanız gerekir Metin düzeltici, kodu yazın, .htaccess uzantısını (öndeki nokta) belirterek dosyayı kaydedin. Ardından, amaçlandığı dizine atmaya devam eder.

3. Sözdizimi.htaccess

Dosyalara (dizinlere) giden yollar, sunucu kökünden başlayarak belirtilir.

DirectoryIndex /home/st5155/www/data/home.html

Sitenin kök klasöründe bulunan htaccess dosyasını yapılandırırsanız, yollar bu klasörün kökünden belirtilir.

DirectoryIndex /home.html

Alan adları http:// veya https:// protokolü ile yazılır.

Yönlendirme / http://your-sait.ru

Dosyanın adı "nokta" htaccess'tir.

Açıklamalı bir satır oluşturmak için # işaretini kullanın.

Dosyayı, pakette bulunan AkelPad editörünü kullanarak düzenlemek en uygunudur. Toplam Amir, sadece seçin ve F4'e basın.

Basit yönlendirme - Yönlendirme yönergesi

1. Yeni site sayfalarına yönlendirme

Sitedeki sayfalar yeni adreslere taşınmışsa, eski adresle iletişim kuran kullanıcı veya arama robotu muhtemelen onları görmeyecektir. Eskiyi yapıştırmak için ve yeni adres sayfalar basit bir 301 yönlendirmesi uygulayabilir. Bunun için htaccess yapılandırma dosyasına aşağıdaki kodun yazılması gerekir:

Yönlendirme 301 /staraya.html http://vash-sait.ru/novaya.html

2. Beslemeleri ortak bir biçime getirmek

Önceden Atom, RSS, Rdf gibi çeşitli besleme formatları kullanılıyordu. Bugün RSS, aralarında ana ve en popüler olanıdır, bu nedenle diğer biçimlerin birine yönlendirildiğinden emin olmak için özen gösterilebilir. Bu ayrıca htaccess dosyasını ve aşağıdaki kodu kullanır:

RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://your-sait.ru/feed/

Karmaşık yönlendirme - RewriteRule yönergesi

1. Bir etki alanını www'den www olmayana yönlendirme.

Çoğu zaman, etki alanlarını www ile ve www olmadan yapıştırmak için htaccess'te bir 301 yönlendirmesi kullanmanız gerekir. Daha erken arama motorları bu tür adresleri tamamen farklı olarak değerlendirdi ve onlara farklı siteler olarak baktı. Bugün yapıştırma görevi arama robotuna veriliyor, ancak doğru aynayı belirtmek asla gereksiz olmayacak. Ek olarak, kendilerinde herhangi bir kafa karışıklığı olmayacak.

RewriteCond'da +FollowSymLinks RewriteEngine Seçenekleri %(HTTP_HOST) ^www.vash-sait\.ru$ RewriteRule ^(.*)$ http://vash-sait.ru/$1

2. Ziyaretçilerin IP adresine göre farklı sayfalara yönlendirilmesi.

htaccess'te, belirli bir IP adresine sahip kullanıcının hangi sayfaya yönlendirileceğini belirtmek mümkündür. Örneğin, 183.11.101.1 ip adresine sahip ziyaretçilerin kontakt.html sayfasına yönlendirilmesi

SetEnvIf REMOTE_ADDR 183.11.101.1 REDIR="redir" RewriteCond %(REDIR) redir RewriteRule ^/$ /kontakt.html

3. Bir web kaynağını güncellerken yönlendirme

Kaynağın test edilmesi veya güncellenmesi sırasında, kullanıcı siteye ulaşamayacaktır. Ancak onu bu konuda uyarmamak yanlış olur. .htaccess'te, kullanıcıyı sorunun özünü (nedenleri, zamanlaması vb.) açıklayan bir bilgi sayfasına yönlendirecek bir kod yazabilirsiniz.

RewriteCond üzerinde RewriteEngine %(REQUEST_URI) !/info.html$ RewriteCond %(REMOTE_HOST) !^14\.124\.354\.80 RewriteRule $ http://your-sait.ru/info.html

Nerede 14.124.354.80 - IP adresinizle değiştirin.

4. Hotlink Koruması

Günümüzde web sitelerinden giderek daha fazla bilginin çalındığı bir sır değil. Bazen sadece metin ve bazen grafik resimlerle birlikte. Ve bir ziyaretçi üçüncü taraf bir siteye her geldiğinde, bu görüntüler barındırmanızdan yüklenecek, bu da bir yük oluşturacak ve trafik yakacaktır. Bunu önlemek için aşağıdaki kodu ekleyin:

RewriteEngine On RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http://([ -a-z0-9] \.)?your-sait\.ru RewriteRule \.(gif|jpe?g| png)$ -

Yukarıdaki örnekte, görseli yükleyen sitede 403 hatası çıkacaktır, eğer görsel yerine belirli bir görselin gösterilmesini istiyorsanız son satırı aşağıdaki gibi değiştirin:

RewriteRule \.(jpg|png|gif)$ http://your-sait.ru/images/imageinfo.jpg

5. Güvenli bir https bağlantısına yönlendirme

.htaccess'te, tüm kullanıcıların yalnızca sunucu ile istemci arasındaki veri aktarımının güvenliğini ve güvenilirliğini garanti eden bu protokol aracılığıyla çalışması için güvenli bir https bağlantısına yönlendirme yapılandırabilirsiniz.

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

6. Otomatik ikame adresin sonundaki eğik çizgi.

URL'nin dizin adıyla bittiği çok yaygın durumlar vardır: http://your-sait.ru/images/raznoe

Apache hatayı kendi başına düzeltebilir ve eksik eğik çizgiyi bağlantıya ekleyerek 301 yönlendirmesi yapabilir. Böylece kullanıcı herhangi bir fark hissetmeyecek ve gerekli sayfayı yanıt olarak alacaktır. Ancak böyle bir eylemi tamamlamak iki kat daha uzun sürecektir. Aşağıdaki kod, adresin sonuna her zaman / ekleyecektir.

RewriteCond %(REQUEST_URI) /+[^\.]+$ RewriteRule ^(.+[^/])$ %(REQUEST_URI)/

7. Belirli bir siteden gelen kullanıcıları engelleme

Site sahibi, kaynağının belirli bir etki alanından oturum açmış kullanıcılar tarafından ziyaret edilmesini istemiyorsa ve erişimi engellemeleri gerekiyorsa, htaccess de yardıma hazırdır. Bir 403 sayfası veya "erişimi reddet" kullanarak belirli sitelerden gelen trafiği engelleyebilirsiniz. Kullanışlı bu ayar sitenizde yasak içeriğe sahip sitelerden gelen bağlantılar göründüğünde ve trafik sitenize bunlar üzerinden geldiğinde.

RewriteCond üzerinde RewriteEngine %(HTTP_REFERER) zapretnui-sait.com RewriteCond %(HTTP_REFERER) zapretnui-sait.com RewriteRule .* - [F]

Dizin sayfaları - DirectoryIndex yönergesi

1. Varsayılan olarak yüklenen dizin sayfasını değiştirme

Genellikle varsayılan dizin sayfaları index.htm, index.php veya index.html'dir, site dizinine erişirken hemen bu dosyalar aranır. Ancak gerekirse, dizin sayfasını başka herhangi bir sayfa olarak yeniden tanımlayabilirsiniz. Benzer bir görev, htaccess dosyası kullanılarak da çözülür.

DirectoryIndex sayfam.html

İki veya daha fazla sayfa belirtmek mümkündür. DirectoryIndex direktifinden sonra yapılandırma dosyasında listelenme sırasına göre aranacaklarına dikkat edilmelidir.

DirectoryIndex index.shtml index3.php index.html index.htm

Hata işleme - ErrorDocument yönergesi

1. Özel hata sayfası

Birçok site hala standart 404 hata sayfasını kullanmasına rağmen, beklenen sonucu alamayan ve bunun yerine kendisine anlaşılmaz gelen bilgileri gören kullanıcıyı tatmin etme olasılığı düşüktür. Ana stille eşleşecek, daha fazlasını gösterecek bir sayfa önermek gerekir. detaylı bilgi talebin başarısız bir şekilde yerine getirilmesinin nedenleri hakkında. Bunu yapmak için standart 404 hata sayfası yerine hangi dosyanın yükleneceğini htaccess'te belirtebilirsiniz.

Hata Belgesi 404 "/404.html"

2. Kendi hata sayfalarınızı oluşturma

Sitede meydana gelen hataların açıklamasını gösteren normal sayfalardan sıkılanlar için kendi boşluklarını kullanma fırsatı vardır. Gerekli içeriğe sahip birkaç *.html dosyasını kendiniz oluşturmanız ve htaccess dosyasına bir giriş yapmanız yeterlidir.

ErrorDocument 401 /errors401.html ErrorDocument 403 /errors403.html ErrorDocument 404 /errors404.html ErrorDocument 500 /errors505.html

Hata sayfalarının her birine ne yazacağınızı bilmeniz için anlamlarını kısaca açıklayacağız.

  • 401 - Yetkilendirme Gerekli
  • 403 - Kullanıcının kimliği doğrulanmadı, erişim reddedildi (Yasaklı)
  • 404 - İstenen belge (dosya, dizin) bulunamadı (Bulunamadı)
  • 500 - Dahili Sunucu Hatası - Komut dosyası hatası veya .htaccess dosyası sözdizimi hatası - (Dahili Sunucu Hatası)

Kodlama tanımı

1. Sunucunun dosyaları "verdiği" kodlamayı belirleme

Kullanıcının kendisi tarafından anlaşılmayan, sözcükleri okumanın mümkün olmadığı karakterleri görüntülemesini önlemek için doğru kodlama belirtilmelidir. Etiket olmasa bile< Мета http-equiv = "Content-Type">sayfadaki metin her zaman doğru olacak ve htaccess dosyası bu konuda yine yardımcı olacaktır.

AddDefaultCharset UTF-8

2. Yüklenen dosyalar için kodlamayı belirleme

Benzer bir durum, bir kullanıcı sunucuya bir dosya yüklediğinde ve içeriği yeniden kodlanabildiğinde ortaya çıkabilir. Gerekli kodlamanın kullanılabilmesi için htaccess'in, yüklenen tüm dosyaların UTF-8 kodlaması ile açılması gerektiğini belirten bir kod içermesi gerekir.

CharsetSourceEnc UTF-8

Dizinlere ve dosyalara erişimi yönetme

1. Tüm dosyalara erişimi reddet

Bir dosyanın görüntülenmesini engellemenin en kolay yolu bir parola belirlemektir, ancak bu her zaman yeterli değildir. Bazı durumlarda, kullanıcının herhangi bir dosyayı veya dizini görüntüleme hakları olmamalıdır (örneğin, sistem dizinlerini kilitlemeniz gerekir, bu değişiklikler sunucu performansını ağırlaştırabilir). htaccess dosyası, tüm kullanıcı ayrıcalıklarını ortadan kaldıran bir kod parçası içerir.

2. Belirli IP'den erişime izin ver

Her web geliştiricisi .htaccess dosyasının amacını bilir. Temel düzeyde, site dizinlerine erişimi kontrol etmenizi sağlar. Ancak ona çeşitli ek kod parçacıkları ekleyerek, onunla başka birçok ilginç şey yapılabilir.

Bu dosyanın amacı hakkında temel bilgilere ihtiyacınız varsa, makalemizden .htaccess'e giriş yapabilirsiniz ( Bu makaleyi çevirmedim, çünkü temel bilgiler var, Web'in Rusça konuşulan bölümünde bunlardan yeterince var, ancak ilgi gösterilirse, resmi tamamlamak için de çevrilebilir - yakl. çevirmen), uygulamasının tüm yönlerinin yeterli ayrıntıda açıklandığı.

Yani, faydalı kullanım örnekleri. htaccess:

1. Dosyalara ve dizinlere erişimi yönetin
Parola koruması bir şeydir, ancak bazen kullanıcıların belirli bir dosya veya klasöre erişmesini tamamen engellemek isteyebilirsiniz. Bu, tipik olarak, uygulamaların erişebilmesi gereken ancak kullanıcıların erişemeyeceği içermeler gibi sistem klasörlerini ifade eder.

Bunu yapmak için bu kodu bir dosyaya koyun. htaccess dosyasını açın ve erişimi reddettiğiniz dizine kaydedin:

Tümünü reddet
Ancak, siz de dahil olmak üzere tüm kullanıcılar için erişimin engelleneceğini unutmayın. IP adresini girerek belirli bir kullanıcı için erişim açabilirsiniz. İşte bunun için ihtiyacınız olan kod:

xxx.xxx.xxx.xxx'ten tüm izinlerden sipariş reddet, izin ver reddet
nerede xxx. xxx. xxx. xxx sizin IP'nizdir. İzin verilen IP adresi aralıklarını ayarlamak için son üç haneyi değiştirebilirsiniz. Örneğin, bunun yerine "0/12" yazarak, bir ağın IP adres aralığını belirtmiş olursunuz, bu da sizi izin verilen tüm IP adreslerini listeye ayrı ayrı girmek zorunda bırakmaz.

Kendisi de dahil olmak üzere belirli bir dosyaya erişimi engellemek istiyorsanız. htaccess, aşağıdaki kod parçacığını kullanın:

sipariş ver, reddet, hepsini reddet
Erişiminin reddedilmesi gereken belirli IP adreslerini belirtmek istiyorsanız, bunları allow from ile listeleyin.

Belirli bir türdeki dosyalara erişimi engellemek istiyorsanız şu kodu kullanın:

Sipariş İzin Ver, Reddet Tümünden Reddet

2. Dizinlere göz atma yasağı
Site dizini taramasını engellemek için .htaccess'e aşağıdaki kodu ekleyin:

Seçenekler Tüm Dizinler
Herhangi bir nedenle tüm dizinlerin görüntülenmesine izin vermek istiyorsanız, şu kodu kullanın:

Seçenekler Tümü +Dizinler

3. Dosyaları sıkıştırarak indirme sürelerini hızlandırın
Her türden dosyayı sıkıştırabilirsiniz. Örneğin, HTML dosyalarını sıkıştırmak için aşağıdaki kodu ekleyin:

AddOutputFilterByType DEFLATE metin/html
Metin dosyalarını sıkıştırmak için şunu kullanın:

AddOutputFilterByType DEFLATE metin/düz
Ayrıca JavaScript'i sıkıştırabilir veya diğer çeşitli dosya türleri için sıkıştırmayı aşağıdaki komutlarla etkinleştirebilirsiniz:

AddOutputFilterByType DEFLATE uygulaması/javascript AddOutputFilterByType DEFLATE uygulaması/rss+xml
Ayrıca tüm JavaScript, HTML ve CSS dosyalarınızı GZIP ile sıkıştırabilirsiniz. Bunu yapmak için aşağıdaki kodu kullanın:

mod_gzip_on Evet mod_gzip_dechunk Evet mod_gzip_item_include dosya \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include işleyici ^cgi-script$ mod_gzip_item_include mime ^text\.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^ image\.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

4. Siteyi diğer kaynaklardan resim eklemekten korumak
Üçüncü taraf kaynaklardan resimlere bağlantı eklenmesini önlemek istiyorsanız, .htaccess dosyasına aşağıdaki kodu ekleyin:

RewriteCond üzerinde RewriteEngine %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ -
Alanadiniz.com'u alan adınızla değiştirmeyi unutmayın.

5. Belirli bir alandan gelen ziyaretçileri engelleme
Sitenizde belirli bir alandaki kullanıcıları görmek istemiyorsanız, onlara erişimi reddedebilirsiniz. Örneğin, istenmeyen kaynaklardan (yetişkinlere yönelik siteler, hacker siteleri vb.) gelen kullanıcılar, 403 Yasaklı bir sayfaya yönlendirilebilir. Bunu yapmak için mod_rewrite etkinleştirilmelidir, ancak genellikle varsayılan olarak etkindir. .htaccess koduna ekleyin:

RewriteCond üzerinde RewriteEngine %(HTTP_REFERER) banurl1.com RewriteCond %(HTTP_REFERER) banurl2.com RewriteRule .* - [F]
Banurl1.com ve banurl2.com'u kara listeye almak istediğiniz alan adlarıyla değiştirmelisiniz. İşareti, girilen alan adının büyük/küçük harfe duyarsız olduğunu belirtmek için kullanabilirsiniz. [F] bayrağı, eylemin türünü belirtir, bu durumda 403 Yasak hatasını görüntüler. Birden fazla siteyi yasaklamak istiyorsanız, her alan için bayrak kullanın, tek bir alanı yasaklamak istiyorsanız, yalnızca .

6. Belirli tarayıcılardan gelen istekleri engelleme
Günlük dosyalarınız belirli tarayıcıları ziyaret etmeyle ilgili girdiler içeriyorsa (tarayıcıyı taklit eden botlar veya örümcekler gibi), adresine birkaç satır ekleyerek bunların sitenize erişmesini engelleyebilirsiniz. htaccess:

RewriteEngine On RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase User-Agent "^badbot3" bad_user Deny from env=bad_user
Badbot1, badbot1, vb.'yi günlüğünüzdeki botların adlarıyla değiştirin. Bu, üçüncü taraf programların sitenize erişmesini engelleyecektir.

7. Dosya önbelleğe alma
Dosya önbelleğe alma, sitenizin daha hızlı yüklenmesini sağlamanın başka bir yoludur. .htaccess'te yazmanız gerekenler:

Başlık, Cache-Control "max-age=2592000" ayarını yaptı
Bu örnekte listelenen dosyalar listesinden daha fazla dosya türü ekleyebilir (veya bazılarını kaldırabilirsiniz). Max-age değişkeni ile dosyaların ne kadar süre önbelleğe alınacağını (saniye olarak) da belirleyebilirsiniz.

8. Farklı dosya türleri için önbelleğe almayı devre dışı bırakın
Belirli dosya türlerini önbelleğe almak istemiyorsanız, bunları listeye dahil etmemeyi seçebilirsiniz. Ancak bazen dosyalar, listede açıkça listelenmeden bile önbellekte depolanabilir; bu durumda, onlar için ayrı ayrı önbelleğe almayı devre dışı bırakabilirsiniz. Çoğu zaman, betikler gibi dinamik dosyalar için önbelleğe almayı devre dışı bırakmanız gerekir. Bunun için gerekli olan kod örneği:
Başlık ayarını kaldır Cache-Control
Önbelleğe almayı devre dışı bırakmak istediğiniz dosya türlerini belirtmeniz yeterlidir.
9. İndirme iletişim kutusunu atlayın
Varsayılan olarak, bir web sunucusundan bir dosya indirmeye çalıştığınızda, dosyayı kaydetmek mi yoksa açmak mı istediğinizi soran bir iletişim kutusu görüntülenir. Bu iletişim kutusu, özellikle büyük medya veya PDF dosyalarını indirirken can sıkıcıdır. Sunucuya yüklediğiniz dosyalar sadece indirme amaçlı ise indirmeyi varsayılan işlem olarak ayarlayarak kullanıcıların hayatını kolaylaştırabilirsiniz. A ekle. htaccess'e aşağıdakileri ekleyin:

AddType uygulaması/octet-stream .pdf AddType uygulaması/octet-stream .zip AddType uygulaması/octet-stream .mp3

10. .htaccess dosyasını yeniden adlandırın
Herhangi bir nedenle .htaccess dosyasını yeniden adlandırmak isterseniz, bunu yapabilirsiniz. Teorik olarak, .htaccess dosyasını yeniden adlandırmak sunucunuzda çalışan uygulamalarda herhangi bir soruna neden olmaz, ancak dosyayı yeniden adlandırdıktan sonra komut dosyası hataları fark ederseniz, yeniden adlandırmanız yeterlidir.

ErişimDosyaAdı htac.cess
Ayrıca, .htaccess dosyasından bahseden tüm girişleri güncellemeniz gerekir, aksi takdirde birçok hata alırsınız.

11. Sitenin başlangıç ​​sayfasının değiştirilmesi
Standart olmayan bir ana sayfa (index.html, index.php, index.htm, vb.) ayarlamak istiyorsanız, .htaccess dosyanıza aşağıdaki kodu ekleyin:

DirectoryIndex sayfam.html
mypage.html'yi ana sayfanız olarak kullanmak istediğiniz sayfanın URL'si ile değiştirin.

12. Güvenli HTTPS bağlantısına yönlendirin
HTTPS kullanıyorsanız ve kullanıcıları sitenizdeki güvenli sayfalara yönlendirmek istiyorsanız, .htaccess dosyanıza aşağıdaki satırları ekleyin:

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

13. PHP'de yüklenen dosyaların maksimum boyutunun, iletilen verilerin maksimum boyutunun, komut dosyalarının maksimum yürütme süresinin vb. sınırlandırılması.
.htaccess, PHP uygulamalarının çalışmasını doğrudan etkileyen bazı değerler belirlemenizi sağlar. Örneğin, barındırmayı büyük dosyalarla tıkamamak için PHP'de yüklenen dosyaların boyutuna bir sınır ayarlamak istiyorsanız:

php_value upload_max_filesize 15M
Herhangi bir değer ayarlayabilirsiniz, örnekte dosya boyutu 15M (MB) ile sınırlıdır. Ek olarak, PHP'de yükleme sırasında aktarılan verilerin maksimum boyutunu sınırlayabilirsiniz:

php_value post_max_size 10M
10M'yi istediğiniz değerle değiştirebilirsiniz. Her zaman çalıştırmak için komut dosyalarına ihtiyacınız yoksa, yürütme sürelerini şu satırla sınırlayabilirsiniz:

php_value max_execution_time 240
240 - yürütme süresi (saniye olarak), ardından komut dosyası durdurulur, bu değeri başka herhangi bir değerle değiştirebilirsiniz. Son olarak, betiğin ham verileri ayrıştırma süresini sınırlamak istiyorsanız aşağıdaki kodu kullanın:

php_value max_input_time 180
180'i istediğiniz zamana (saniye olarak) değiştirin.

14. Dosya türlerini gizleme
Bazen kullanıcıların sitenizde ne tür dosyalar olduğunu bilmemesini istersiniz. Bu bilgiyi gizlemenin bir yolu, tüm dosyalarınızın HTML veya PHP dosyaları olarak görünmesini sağlamaktır:

ForceType uygulaması/x-httpd-php ForceType uygulaması/x-httpd-php
Ve bu, .htaccess'in yapabileceklerinin yalnızca bir kısmıdır, ancak genel olarak çok daha fazlasını yapmanıza izin verir. Örneğin, sitenizin sayfalarını otomatik çeviri yapacak şekilde ayarlayabilir, sunucunun saat dilimini ayarlayabilir, URL'lerden WWW'yi kaldırabilir veya süslü dizin görünümleri kullanabilir, vb. Ancak her durumda, .htaccess dosyasıyla denemeye başlamadan önce, her zaman orijinal .htaccess dosyasının yedek bir kopyasını saklayın, böylece sorun çıkması durumunda siteyi hızlı bir şekilde çalışır duruma getirebilirsiniz.

Adresi tarayıcı çubuğuna yazarak, bilgisayarınızda tarayıcının görüntülediği dosyaları alırsınız. Web sunucusu size hangi dosyaların ve nasıl gösterileceğini (gönderileceğini) yönetir. En popüler iki sunucu vardır: IIS ve .

Herhangi bir program gibi, web sunucusunun da belirli ayarları vardır. Ancak, bir Apache kullanıcısı olarak, bu sunucunun tüm kullanıcıları için geçerli olan ana dosyaları aracılığıyla Apache yapılandırmasını değiştirme hakkına sahip olabilirsiniz (ve büyük olasılıkla olmayacaktır). Ancak, yalnızca siteniz için geçerli olan bazı yapılandırma dosyalarını değiştirebilirsiniz. Bu dosyalardan biri .htaccess

Bu, Apache web sunucusu esnek yapılandırma dosyasıdır. "Esnek", bu dosyada bir şeyi değiştirir değiştirmez değişikliklerin hemen etkili olduğu anlamına gelir. Bununla, dosyadaki birçok direktifi geçersiz kılabilirsiniz. httpd.conf(bu dosya ana yapılandırma dosyası Apache sunucusu ve eylemleri tamamen bu Apache kopyasının tüm kullanıcıları için geçerlidir). Apache yapılandırma dosyasına erişiminizin olmadığı durumlarda (aynı sanal barındırma), bu dosya size yardımcı olacaktır.

Bu dosya, web kullanıcısı tarafından bir tarayıcıdan kullanılamaz. Eğer dosya. htaccess sunucunun kök dizininde bulunuyorsa, eylemi başka bir dosyanın bulunduğu klasörler dışında tüm sunucuya uygulanır. htaccess(ve "altındaki" tüm klasörlerin yanı sıra, bu klasör ikincisiyle birlikte. htaccess).

Sunucudaki dizinlerinizin yapısı aşağıdaki gibidir:

|-kullanıcı| | | -kullanıcı1 | | | -kullanıcı2 | |-veri | | | -veri1 | | | -veri2 |

dizinler kullanıcı1 Ve kullanıcı2 dizine göre iç içe olacak kullanıcı. bir dizine koyarsak www dosya. htaccess, ardından etkisi otomatik olarak dizinlere uygulanacaktır. kullanıcı1 Ve kullanıcı2.

dizine veri başka bir dosya koyun. htaccess, dizindekilerle karşılaştırıldığında kullanıcı. data1 ve data2 dizinleri için de data içerisinde yer alan .htaccess dosyası çalışacaktır.