Htaccess dosyası - yeni başlayanlar için bir .htaccess dosyası oluşturma talimatı

Yazdır · Время на чтение: 12min · tarafından · Yayınlanan · Güncellenmiş

oynamakBu makaleyi dinle

.htaccess dosyası nasıl oluşturulur?

htaccess dosyası - yeni başlayanlar için bir .htaccess dosyası nasıl oluşturulur? .htaccess dosyası, kural olarak, yalnızca Unix - sistemler altındaki uzantıya sahiptir. Ve Apache sunucusunu çalıştıran sitelere fayda sağlar.

Htaccess, sunucudaki belirli bir site için bir dizi kurala sahiptir. Dosya, Apache web sunucusu için birçok yapılandırma seçeneğini kontrol eder. Apache, platformlar arası işletim sistemleri için yaygın olarak kullanılan bir sunucu yazılımıdır.

Kullandığı sözdizimi ilk başta biraz kafa karıştırıcı olsa da, bu .htaccess dosyası pek çok yararlı şey yapabilir. Özelliklerinden bazıları, yeniden yönlendirme, parola koruması, belirli koşullara dayalı erişim kısıtlaması ve daha fazlasını içerir. Bu gönderide, bir .htaccess dosyasının nasıl oluşturulup yapılandırılacağına ve bunun için en yaygın kullanımlardan bazılarının nasıl uygulanacağına bakacağız.

Makalenin içeriği:

.htaccess dosyası oluşturma talimatları

.htaccess dosya ayarları.

htaccess, bir nokta ile başladığı için genellikle "nokta dosyası" olarak bilinir. Nokta dosyaları neredeyse her zaman bir yapılandırma dosyasıdır. Bu tür dosyalar bir işletim sistemi veya bir yazılım parçası için olabilir. Varsayılan olarak, işletim sistemi nokta dosyalarını arama pencerelerinde veya herhangi bir sistem dosya yöneticisinde gizler. Genellikle, işletim sisteminizin ayarlarında "Gizli dosyaları göster" seçeneğini seçmeniz gerekir. Veya komut satırındaki tüm dosyaları listelemek için komutu kullanabilirsiniz. ls-a

Sunucuda birkaç benzer dosya olabilir ve her dosya her zaman yinelemeli olarak çalışır. Bu, her dosyanın bulunduğu dizini, ayrıca tüm dosyaları ve alt dizinleri etkileyeceği anlamına gelir.

  1. Bu dosyayı oluşturmak için mevcut herhangi bir metin düzenleyiciyi (örneğin, not defteri) kullanmak yeterlidir.
  2. Ad (.htaccess) - tırnak işaretleri ve diğer şeyler olmadan.
  3. Dosyayı kaydediyoruz.
  4. Ardından, mutlaka sitenin kök dizininde bulunan bir FTP istemcisi kullanarak sunucunuza (barındırma) aktarıyoruz. ASCII modunda iletmelisiniz. Varsayılan olarak, çoğu FTP istemcisi, nokta dosyalarının aktarımı için verimsiz olan bir mod kullanarak veri aktarır. FTP istemciniz aktarım modunu ayarlayabilmelidir. İKİLİ
  5. Ardından istediğiniz gibi düzenleyebilirsiniz, ancak dosyanın sunucudaki (barındırma) sürümünü güncellediğinizden emin olun. Herhangi bir nedenle kuralların yürürlüğe girmediği görülüyorsa bunun nedeni yanlış dosya izinleri olabilir. .htaccess dosya izinleri 755 olarak ayarlanmalıdır. FTP istemcinizde bir "Dosya izinleri" seçeneği olmalıdır. Ek olarak, komutu .chmod 755 .htaccess terminalinde çalıştırabilirsiniz (dosyadan önce tam adresi belirtmek daha iyidir).

Basit bir sayfa yönlendirme örneği

.htaccess'teki ana popüler kurallardan biri sayfa yönlendirmedir. Site yöneticinizdeki herhangi bir ilgili yoldan yönlendirme yapabilirsiniz. Ayrıca sayfayı sitenizdeki mutlak bir yola veya İnternet'teki herhangi bir yere yönlendirebilirsiniz. Dosyanızda kullanılacak temel sözdizimi şöyledir:

Yönlendirme /directory_to_redirect_from/ https://mysite.com/new_directory/index.html

Kaynak dizin olarak her zaman göreli bir yol kullanmalısınız. Mutlak yol, yönlendirilecek dizin olmalıdır.

.htaccess'te bir hata belgesi oluşturma örneği

Özel hata sayfaları oluşturmak, örneğin web sitenizdeki bir URL çalışmıyorsa, web sitenizin ziyaretçilerine kolay bir hata mesajı göstermenize izin verdiği için çok kullanışlıdır. Bu, dostça olmayan "404 Dosya Bulunamadı" hatasını önler ve olası çözümleri açıklayan ve ziyaretçiyi hüsrana uğratmak ve kaybetmek yerine web sitenizin içeriğine geri yönlendirmek için dostça bir hata görüntülemenize olanak tanır.

Özel hata belgeleri ayarlamak için, aşağıdaki metni içeren temel talimatları ve yönergeleri izleyerek bir .htaccess dosyası oluşturun:

ErrorDocument 404 /error_pages/404.html

Yukarıdaki satır, Apache web sunucusuna, bir 404 (dosya bulunamadı) hatası oluştuğunda /error_pages/404.html'de (etki alanı adınız/web sitesi adresinizin altında) bulunan belgeyi oluşturmasını söyler.

Bu örnekte, bir hata belgesi oluşturduğunuzu ve bunu "404.html" olarak adlandırdığınızı ve etki alanı adınız altında "error_pages" adlı bir dizine yerleştirdiğinizi varsaydık. Örneğin, http://www.alaniniz.com/error_pages/404.html.

404.html belgesi, web sitenizdeki diğerleri gibi normal bir HTML belgesidir ve istediğiniz herhangi bir içeriği görüntüleyebilir, ancak bir "Dosya bulunamadı" mesajı eklemenizi öneririz.

401 Yetkisiz, 403 Yasak ve 500 Dahili Sunucu hata mesajları gibi ek hata belgeleri ayarlamak için, aşağıdaki metni içeren temel talimatları ve yönergeleri izleyerek bir htaccess dosyası (nokta) oluşturun:

ErrorDocument 401 /error_pages/401.html ErrorDocument 404 /error_pages/404.html ErrorDocument 500 /error_pages/500.html

.htaccess'te örnek parola koruması

Apache web sunucusu tarafından sunulan parola koruması ve kimlik doğrulama sistemleri muhtemelen .htaccess dosyalarının en önemli kullanım alanlarıdır. Erişim için kullanıcı adı ve parola gerektiren bir web sitesinin bir dizinini (veya birkaçını) çok kolay bir şekilde parolayla koruyabiliriz. Bu güvenli dizinler için oturum açma prosedürü, açılır bir oturum açma arabirimi kullanılarak web tarayıcısı tarafından otomatik olarak gerçekleştirilir (muhtemelen daha önce görmüşsünüzdür). Parolalar ayrıca oturum açma kimlik bilgilerinizi güvende tutan mevcut en iyi şifreleme yöntemlerinden biri kullanılarak şifrelenir.

Öncelikle hangi dizini parola ile korumak istediğinize karar verin (dizindeki tüm dosyaların ve alt dizinlerin parola korumalı olacağını unutmayın), ardından aşağıdaki metni içeren temel yönergeleri ve yönergeleri izleyerek bir .htaccess dosyası oluşturun:

AuthName "Üye Alan Adı" AuthUserFile /path/to/password/file/.htpasswd AuthType Temel Geçerli kullanıcı gerektir

İlk satır, Apache web sunucusuna güvenli dizinin, oturum açma istemi açıldığında görüntülenecek olan "Kullanıcı Bölgesi Adı" olarak adlandırıldığını söyler. İkinci satır, parola dosyasının konumunu belirtir. Üçüncü satır, kimlik doğrulama türünü belirtir, bu örnekte HTTP temel kimlik doğrulaması kullandığımız için "Temel" kullanıyoruz ve son olarak dördüncü satır, geçerli oturum açma kimlik bilgilerine ihtiyacımız olduğunu belirtir, bu satır belirli bir kullanıcı adı belirtmek için de kullanılabilir "require username username username" gibi, "username" kullanıcı adını gerektirecektir.

Parola korumalı bir genel dizin oluşturmak yerine yönetici alanını parolayla koruyor olsaydınız bunu kullanırdınız.

Parola dosyasının konumu web sunucunuzun herhangi bir yerinde olabilir, "/location/of/password/file/" yerine parola dosyasını ve ".htpasswd" dosyasını içeren dizinin tam/mutlak yolu ile değiştirilmelidir. var olmalı, ama ona ne istersen diyebilirsin.

".htpasswd" dosya adını kullanıyoruz çünkü sunucu dosya adını tanıyacak ve onu ziyaretçilerden gizleyecektir. Bazı sunucuların parola dosyasının .htaccess dosyasıyla aynı dizinde olmasını gerektirdiğini unutmayın. Parola dosyasının konumu için tam/mutlak sunucu yolunun kullanılması da önemlidir, göreli bir yol veya URL'nin herhangi bir varyasyonu çalışmayacaktır.

Parola dosyası aşağıdaki metne benzer bir şey içerecektir:

kullanıcı adı:şifrelişifre fred_smith:oCF9Pam/MXJg2

Artık sadece bir parola bulamazsınız, Unix/Linux sunucularında parolaların sunucu tarafından şifrelenmesi gerekir, Windows sunucularında ise Windows herhangi bir şifreleme yöntemi sunmadığı için yalnızca düz metin parolası kullanırsınız. Parola dosyasında, kullanıcı adı ve parolayı iki nokta üst üste ile ayırarak, her satıra bir hesap olacak şekilde istediğiniz sayıda kullanıcı girişine sahip olabilirsiniz. Sunucuya erişiminiz yoksa, servis sağlayıcınızdan bu özelliği etkinleştirmesini isteyin. Lütfen, kontrol panelinde bu özellik yerleşiktir.

Ziyaretçiler IP adresine göre nasıl engellenir?

Apache web sunucusu tarafından sunulan ziyaretçi engelleme araçları, belirli ziyaretçilerin erişimini reddetmemize veya belirli ziyaretçilere erişim izni vermemize olanak tanır. Bu, istenmeyen ziyaretçileri engellemek veya web sitesi sahibinin web sitesinin yönetim alanı gibi yalnızca belirli bölümlerine erişmesine izin vermek için son derece kullanışlıdır.

Ziyaretçi kısıtlamalarını ve engellemeyi ayarlamak için, aşağıdaki metni içeren temel talimatları ve yönergeleri izleyerek bir .htaccess dosyası oluşturun:

sipariş izin ver, reddet 255.0.0.0'dan reddet 123.45.6'dan reddet. hepsinden izin ver

Yukarıdaki satırlar, Apache web sunucusuna "255.0.0.0" ve "123.45.6" IP adreslerinden gelen ziyaretçileri engellemesini söyler, ikinci IP adresinde dördüncü sayı kümesinin eksik olduğuna dikkat edin; ilki "123.45.6.10" ve "123.45.6.255" gibi üç sayı grubu bloke edilecektir.

Kendiniz dışındaki tüm ziyaretçileri engellemeyi ayarlamak için, aşağıdaki metni içeren temel talimatları ve yönergeleri izleyerek bir .htaccess dosyası oluşturun:

sipariş izin ver, reddet 255.0.0.0'dan izin ver, tümünden reddet

Yukarıdaki satırlar, Apache web sunucusuna kendi IP adresinizle değiştirmeniz gereken "255.0.0.0" IP adresine sahip olanlar dışındaki tüm ziyaretçileri engellemesini söyler.

"Sipariş ver, reddet"ten sonra istediğiniz sayıda "reddet" ve "izin ver" girişi ekleyebilirsiniz. Alt satırda "herkesten izin ver" ile "herkesten reddet" arasındaki değişikliğe dikkat edin, bu önemlidir ve gereksinimlerinize göre değiştirilmelidir. Ziyaretçilerinizin erişimine izin vermek istiyorsanız, "herkesten izin ver" seçeneğini kullanmalı ve yukarıya "reddet" satırlarını yerleştirmelisiniz.

Engellenen ziyaretçilere " hata mesajı gösterilecek403 yasak".

.htaccess dosyası oluşturma örneği.

.htaccess dosyamda bulunan örnek kurallar

# AMPFORWPLBROWSERCSTART Tarayıcı Önbelleğe Alma - tarayıcı tarafında amp sağlama.

ExpiresActive On AddType application/vnd.ms-fontobject .eot AddType application/x-font-ttf .ttf AddType application/x-font-opentype .otf AddType application/x-font-woff .woff AddType image/svg+xml .svg ExpiresByType uygulaması/vnd.ms-fontobject "erişim 1 yıl" ExpiresByType uygulaması/x-font-ttf "erişim 1 yıl" ExpiresByType uygulaması/x-font-opentype "erişim 1 yıl" ExpiresByType uygulaması/x-font-woff "erişim 1 yıl" ExpiresByType image/svg+xml "erişim 1 yıl" ExpiresByType image/webp "erişim 1 yıl" ExpiresByType image/gif "erişim 1 yıl" ExpiresByType image/jpg "erişim 1 yıl" ExpiresByType image/jpeg "erişim 1 yıl" ExpiresByType image/png "erişim 1 yıl" ExpiresByType image/x-icon "erişim 1 yıl" ExpiresByType text/css "erişim 3 ay" ExpiresByType text/javascript "erişim 3 ay" ExpiresByType uygulama/javascript "erişim 3 ay" ExpiresByType uygulama/x -javascript "erişim 3 aylık" ExpiresByType uygulaması/xhtml-xml "erişim 3 aylık" ExpiresByType uygulaması/pdf "erişim 3 aylık" ExpiresByType uygulaması/x-shockwave-flash "erişim 3 aylık"

# GZIP SIKIŞTIRMAYA BAŞLA - gzip sıkıştırma

mod_gzip_on Evet mod_gzip_dechunk Evet mod_gzip_item_include file \.(html?|txt|css|js|php|pl) item_exclude mime ^image /.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

 

# Tarayıcı hatalarını kaldırın (yalnızca gerçekten eski tarayıcılar için gereklidir)

BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Başlık eki Vary User-Agent

# HTML, CSS, JavaScript, Metin, XML ve yazı tiplerini sıkıştırın

AddOutputFilterByType DEFLATE uygulaması/javascript AddOutputFilterByType DEFLATE uygulaması/rss+xml AddOutputFilterByType DEFLATE uygulaması/vnd.ms-fontobject AddOutputFilterByType DEFLATE uygulaması/x-font AddOutputFilterByType DEFLATE uygulaması/x-font-opentype AddOutputFilterByType DEFLATE uygulaması/x-font-ot f AddOutputFilter ByType DEFLATE uygulaması / x-font-truetype AddOutputFilterByType DEFLATE uygulaması/x-font-ttf AddOutputFilterByType DEFLATE uygulaması/x-javascript AddOutputFilterByType DEFLATE uygulaması/xhtml+xml AddOutputFilterByType DEFLATE uygulaması/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputF ilterB yType DEFLATE yazı tipi/ttf AddOutputFilterByType DEFLATE resim/svg+xml AddOutputFilterByType DEFLATE resim/x-icon AddOutputFilterByType DEFLATE metin/css AddOutputFilterByType DEFLATE metin/html AddOutputFilterByType DEFLATE metin/javascript AddOutputFilterByType DEFLATE metin/düz AddOutputFilterByType DEFLATE metin/xml

 

# HTTP Vary üstbilgilerinin MSIE ailesi tarayıcılarına döndürülmesini önleyin

 

BrowserMatch "MSIE" değişmeye zorla BrowserMatch "Mozilla/4.[0-9]{2}" değişmeye zorla

# Sunucu imzasını gizle

Sunucu İmzası Kapalı

# Sol botları devre dışı bırak

SetEnvIfNoCase User-Agent "^Missigua Locator" bad_bot #SetEnvIfNoCase User-Agent "^PEAR HTTP_Request class" bad_bot SetEnvIfNoCase User-Agent "^Java/1.4.1" bad_bot SetEnvIfNoCase User-Agent "^Java/1.5.0" bad_bot SetEnvIfNoCase User- Aracı "^psycheclone" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^WEP Arama 00" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^FlashGet" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^GetRight" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^GetWeb!" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^Go!Zilla" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^httplib" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^Indy Library" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^InfoNaviRobot" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^InterGET" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^Internet Ninja" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^LexiBot" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^libWeb/clsHTTP" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^libwww" bad_bot SetEnvIfNoCase Kullanıcı Aracısı "^libwww-perl" bad_bot SetEnvIfNoCase User-Agent “^LinkextractorPro” bad_bot SetEnvIfNoCase User-Agent “^Mozilla.*NEWT” bad_bot SetEnvIfNoCase User-Agent “^Octopus” bad_bot SetEnvIfNoCase User-Agent “^ProWebWalker” bad_bot SetEnvIfNoCase User-Agent “^SuperBot” bad_bot SetEnvIfNoCase User- Ajan “^WebAuto” bad_bot SetEnvIfNoCase Kullanıcı Aracısı “^Wells Search II” bad_bot SetEnvIfNoCase Kullanıcı Aracısı “^Wget” bad_bot SetEnvIfNoCase Kullanıcı Aracısı “^wget” bad_bot

Dosyamda bulunan minimum kuralları verdim.

.htaccess Dosya Özelleştirme Özellikleri ve Yaygın Hatalar

Doğru, bu dosya çoğunlukla banal sunucu hatasına neden olur 500 Dahili Sunucu Hatası. Dosyayı çok dikkatli bir şekilde düzenlemeli ve aşağıdaki kurallara uymalısınız:

  • Düzenlemeden önce her zaman .htaccess dosyasının çalışan bir kopyasını kaydedin.
  • Önce dosyayı incelemeden bir üretim sitesine asla yeni kurallar getirmeyin.
  • Kodlama genellikle UTF-8'dir.
  • Her kural yeni bir satıra yazılmalıdır.
  • Apache sunucusu tarafından işlenmeyen yönergeler hariç tutulur - hemen bir sunucu hatasına neden olurlar.
  • Bir satıra birkaç talimat yazamazsınız - 500 hatası alırsınız.
  • Dikkatli olun - fazladan bir boşluk veya karakter hataya neden olabilir.

.htaccess dosyasının site üzerindeki etkisi nedir?

Kural olarak, bu dosya sayesinde siteyi arama motorları için mükemmel şekilde optimize edebilirsiniz. Yapabilecekleri şunlardır:

  1. Sitede 301 yönlendirmesi ayarlamak (en yaygın kural). Gerekli görevler için kullanılabilir.
  2. Sunucu tarafında site karma ayarları.
  3. Gzip sıkıştırmasını etkinleştirme (GNU Zip'in kısaltması) - sunucu tarafında dosya sıkıştırma.
  4. Site korumasını sağlayın: ip adreslerini engelleme, yasaklamalar vb.
  5. Site için gerekli ayrılmış bellek miktarını belirtin.

Bu, bu dosya için kullanılabilen minimum işlevselliktir. Önemli olan tüm bu önerileri doğru bir şekilde takip etmektir. İlerleyen yazılarda bu dosya için bazı kuralları açıklamaya çalışacağım ve ayrıca robots.txt dosyasının ne olduğunu ve arama motorlarına site haritası nasıl ekleneceğini öğreneceğiz.

Bu makaleyi okumak:

Okuduğunuz için teşekkürler: SEO YARDIMI | NICOLA.ÜST

Bu gönderi ne kadar yararlı oldu?

Derecelendirmek için bir yıldıza tıklayın!

Ortalama puanı 5 / 5. Oy sayısı: 264

Şimdiye kadar oy yok! Bu gönderiyi ilk değerlendiren siz olun.

Şunlar da hoşunuza gidebilir...

1 Yanıt

  1. Илья dedi ki:

    Bilgi için teşekkürler. En azından canlı örneklere bakabilirsiniz. Gradyan animasyonu sadece süper))) Mükemmel uygulama - büyük olasılıkla uzun süre acı çekti.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

11 + 15 =