WordPress .htaccess dosyası için nihai kılavuz

Yayınlanan: 2022-08-10

Anlamak gerçekten kolay değil: varsayılan kodum Çince'ye benziyor.

İsmimin uzantısı olmadığı için tekil görünüşümle dikkat çekiyorum.

Ayrıca sihirli güçlerim var. Beni doğru ayarlarsanız, şunları yapabilirim:

  • Web sitenizin güvenliğini artırma.
  • Sayfalarınızın yüklenme hızını artırmak.
  • Yönlendirmeleri ayarlama.
  • Spam'i sınırlama.
  • Ve hatta birkaç şaka yapıyorum: bu benim arsız tarafım.
Yok canım?!
Espriler? Yok canım?

Hala kim olduğumu bilmiyor musun? Ben WordPress web sitenizin .htaccess dosyasıyım. Nasıl çalıştığımla ilgili bu rehberde beni daha iyi tanıyalım.

Bu satırlar boyunca, beni yapılandırmak için otuzdan fazla yönerge keşfedeceksiniz. Evde sadece kopyalayıp yapıştırmanız gereken, kullanıma hazır kod parçaları şeklinde gerçekleşirler.

Okumaya devam edin, hayal kırıklığına uğramayacaksınız!

genel bakış

  1. .htaccess dosyası nedir?
    1. .htaccess dosyaları nasıl çalışır?
      1. .htaccess dosyası nasıl oluşturulur
        1. Bir .htaccess dosyasını özelleştirmeden önce alınacak önlemler
          1. .htaccess dosyanızı düzgün bir şekilde nasıl değiştirirsiniz.
            1. Bir web sitesinin kökündeki .htaccess dosyası nasıl özelleştirilir?
              1. wp-admin'de .htaccess dosyası nasıl özelleştirilir
                1. wp-includes içindeki .htaccess dosyası nasıl özelleştirilir?
                  1. .htaccess dosyası wp içeriğinde nasıl özelleştirilir?
                    1. wp-content/uploads içindeki .htaccess dosyası nasıl özelleştirilir?
                      1. WordPress'teki .htacess dosyasındaki son özet

                        İlk olarak Ekim 2015'te yazılmış olan bu makale en son Temmuz 2022'de güncellenmiştir.

                        En iyi WordPress projelerinizin en iyi ana bilgisayara ihtiyacı var!

                        WPMarmite, Bluehost'u önerir: harika performans, harika destek. Harika bir başlangıç ​​için ihtiyacınız olan her şey.

                        Bluehost'u deneyin
                        CTA Bluehost WPMarmite

                        .htaccess dosyası nedir?

                        .htaccess dosyası, çoğu web sunucusunun çalıştırmak için kullandığı yazılım olan Apache için bir yapılandırma dosyasıdır. Bu dosyanın içeriği, sunucunun belirli bir şekilde davranması için Apache'ye direktifler verecektir.

                        Dikkat edin, bazı web barındırıcıları yalnızca NGINX sunucusunda çalışır. Örneğin Volan'ın durumu budur. Bir .htaccess dosyasına sahip değiller.

                        WordPress kullanan hemen hemen tüm web sitelerinin bir .htaccess dosyası vardır. Aslında, WordPress, web sitesinin kalıcı bağlantı ayarlarını dahil etmek için kurulum sırasında bunu otomatik olarak oluşturur.

                        Bir URL biçimi (normalde "Mesaj adı") seçmek için Ayarlar > Kalıcı Bağlantılar'a gittiğinizde, .htaccess dosyası değiştirilir.

                        .htaccess dosyaları nasıl çalışır?

                        Bir web sitesinde birkaç .htaccess dosyası olabileceğini bilmelisiniz.

                        İlk olarak, web sitesinin kökünde bulunan ana .htaccess dosyası var.

                        Bir web sitesinin kökü, WordPress dosyalarının ( wp-admin , wp-includes ve wp-content klasörleri ve diğer bazı dosyalar) sunucunuzda bulunduğu yerdir. Örneğin, FTP istemcinize bağlanarak bunlara erişebilirsiniz. Bu kök klasörün adı, barındırma sağlayıcınıza bağlı olarak değişebilir. Örneğin, Bluehost (bağlı kuruluş bağlantısı) ile public_html ve OVH ile www olarak adlandırılır.

                        Ana .htaccess dosyasının içeriği tüm web sitesini etkileyecektir.

                        Diğer .htaccess dosyaları alt dizinlerde oluşturulabilir. WordPress söz konusu olduğunda, örneğin wp-admin veya wp-content/uploads dizinine yerleştirilebilir.

                        İkincil .htaccess dosyaları, bulundukları dizinleri ve alt dizinlerini etkiler.

                        wp-content/uploads içinde bir .htaccess dosyasının bulunduğunu düşünürsek, uploads dizini ve tüm alt dizinleri .htaccess dosyasında tanımlananlardan etkilenir.

                        .htaccess dosyası nasıl oluşturulur

                        Mantıksal olarak, web sitenizin en az bir .htaccess dosyasına sahip olması gerekir, bu dosya web sitenizin kökünde bulunur. Favori kod düzenleyicinizi (Sublime Text, Brackets, Notepad++, Coda, vb.) kullanarak düzenleyebilirsiniz.

                        Doğrudan WordPress panonuzdan düzenlemek için Htaccess Dosya Düzenleyici eklentisi gibi başka çözümler de vardır.

                        Ancak, herhangi bir sorun varsa, FTP istemcinizi ve kod düzenleyicinizi gözden geçirmeniz gerekecek, bu yüzden bunu doğrudan elle de yapabilirsiniz.

                        Bir alt dizine bir .htaccess dosyası eklemeniz gerekiyorsa, bu talimatları izleyin.

                        Bilgisayarınızdan bir .htaccess dosyası oluşturun

                        1. Yeni bir metin dosyası oluşturun ve onu htaccess.txt olarak adlandırın.
                        2. Dilediğiniz gibi düzenleyin.
                        3. Sunucunuzun kök dizinine gönderin.
                        4. .htaccess olarak yeniden adlandırın.
                        Bir FTP yazılımındaki bir .htaccess dosyası.

                        Sunucunuzdan bir .htaccess dosyası oluşturun

                        1. Olması gereken dizine sağ tıklayın.
                        2. Yeni bir dosya ekleyin ve onu .htaccess.
                        3. Kod düzenleyicinizle (Notepad++, Coda, Sublime Text veya diğer) düzenleyin.

                        Tebrikler, artık bir .htaccess dosyasının ne için olduğunu ve nasıl oluşturulacağını biliyorsunuz. Hangi yönergeleri ekleyebileceğinizi öğrenmeden önce dikkatli olmayı unutmayın!

                        Gözlerine dikkat et, acıyabilir!

                        Bir .htaccess dosyasını özelleştirmeden önce alınacak önlemler

                        Bir .htaccess dosyasının kodunu özelleştirmek oldukça basittir (özellikle bu makalenin geri kalanında sunulan kod parçacıklarıyla), ancak yine de buna ateşli silahlarla girmemelisiniz.

                        Herhangi bir değişiklik yapmadan önce, WordPress web sitenizin yedeğini almanızı öneririm. Bunun için UpdraftPlus gibi özel bir eklenti kullanabilirsiniz.

                        Ardından, .htaccess dosyanızın ilk içeriğini kaydedin. Bunu yapmak için şunları yapabilirsiniz:

                        • Sunucunuzdaki .htaccess dosyasını bir .htaccess-initial ​​dosyasına çoğaltın.
                        • Dosyanın içeriğini bilgisayarınızdaki bir metin dosyasına kopyalayın.

                        Bir sorununuz varsa, orijinal içeriği kolayca geri yükleyebilirsiniz.

                        .htaccess dosyanızı düzgün bir şekilde nasıl değiştirirsiniz.

                        Herhangi bir değişiklik yapmak için aşağıdaki prosedürü izleyin:

                        • Dosyayı kod düzenleyicinizde açın.
                        • Eklemelerinizi dosyaya yerleştirin.
                        • Onu kurtar.
                        • Her şeyin yolunda olup olmadığını görmek için web sitenizi güncelleyin.

                        Web sitenizi yenilemek çok önemlidir: Eklenen kodla ilgili herhangi bir sorun olup olmadığını görmenize yardımcı olacaktır.

                        Genel olarak, bir sorun varsa ekranda 500 hatası “Dahili Sunucu Hatası” görünecektir:

                        500 Dahili Sunucu Hatası örneği.

                        Bu durumda yaptığınız değişiklikleri geri alın ve tekrar kaydedin. Her şey normale dönmeli.

                        Bazen, bazı ana bilgisayarlar .htaccess dosyasındaki belirli kodu kabul etmez…

                        Bununla uğraşmak zorunda kalacaksın.

                        Daha fazla bilgi için ev sahibinizin müşteri hizmetleriyle iletişime geçin. Umarım, çalışması için sadece küçük bir değişiklik gerekir.

                        Tipik ve yaygın 500 hatası gibi bir WordPress hatası mı yaşıyorsunuz? WPMarmite, başlıca sorunları çözmek için kapsamlı bir kılavuz sunar.

                        Bu sefer her şey yolunda. Bir .htaccess dosyasının nasıl çalıştığını, nasıl düzgün şekilde oluşturulacağını ve düzenleneceğini biliyorsunuz.

                        Şimdi onu 5 farklı yerde nasıl özelleştireceğinizi öğrenin:

                        1. Web sitesinin kökünde
                        2. wp-admin
                        3. wp-includes
                        4. wp-content
                        5. wp-content/uploads

                        Hemen web sitesinin köküyle başlayalım. Göreceksiniz, bu en tutarlı parça olacak.

                        Her bilgisayar dilinde olduğu gibi, .htaccess dosyası yorum eklemenize izin verir. Bunu yapmak için, satırın yok sayılması için # sembolünü satırın başına yerleştirmeniz yeterlidir. Bu, hangi kod satırlarının çalıştığını hatırlamak için çok kullanışlıdır. Bu makaledeki örneklerde yorumları göreceksiniz.

                        Bir web sitesinin kökündeki .htaccess dosyası nasıl özelleştirilir?

                        Kurulumunuz iyi gittiyse, web sitenizin kökünde bir .htaccess dosyası bulacaksınız. Aşağıdaki kodu içerecektir:

                         # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\. php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
                        WordPress .htaccess dosyası varsayılan kodu

                        WordPress'i çoklu site modunda kullanıyorsanız, .htaccess dosyasının varsayılan kodu farklı olacaktır. Bu, çoğu durumda sizi etkilemeyecektir.

                        Artık bu dosyayı bulduğunuza göre, bazı belirli şeyleri halletmek için aşağıdaki kod parçacıklarıyla içeriğini geliştirebileceksiniz. Bu güvenlikle ilgili olabilir, aynı zamanda başka şeylerle de ilgili olabilir.

                        # BEGIN WordPress ve # END WordPress yorumları arasına herhangi bir kod eklemediğinizden emin olun, çünkü bu kod bazı durumlarda değiştirilecektir.

                        Başka bir hatırlatma: Herhangi bir değişiklik yapmadan önce orijinal .htaccess dosyanızı kaydedin. Herhangi bir sorununuz varsa geri dönebilmeniz gerekir.

                        Görüntüleme dizinlerini devre dışı bırak

                        Varsayılan olarak, bir web sitesinin dizinlerine erişmeye çalışırsanız, sunucu bunları görüntüler. Biçimlendirme şöyle görünecektir:

                        /wp-include dizini

                        Bunun bilgisayar korsanları için ekmek ve tereyağı olduğunu hayal edebilirsiniz. Web sitenizdeki dosyaları görebilmeleri, ona daha iyi saldırabilmelerine yardımcı olacaktır. Web sitenizi korumak için aşağıdaki kodu .htaccess dosyanıza ekleyin:

                         # Disable display of directory contents Options All -Indexes

                        Dizin listelenmesini önlemek için bu kodu kullanmak da mümkündür:

                         # Alternative to prevent directory listing IndexIgnore *

                        Sunucu bilgilerini gizle

                        Bazı barındırma sağlayıcılarında görüntülenen sayfalar sunucu bilgileri içerebilir. Bu bilgi, potansiyel saldırganlara ayrıntı verebilir.

                        Bu nedenle, bunları aşağıdaki kodla gizlemek en iyisidir:

                         # Hide the information from server ServerSignature Off

                        Aşağıdaki sembolik bağlantıları etkinleştir

                        Sizinle tamamen anlamsız konuşuyor olmalıyım, ancak bu kod satırını ana .htaccess dosyanıza eklemeniz önemlidir:

                         # Enable following symbolic links Options +FollowSymLinks

                        Bu, sunucunuzun sembolik bağları yani kısa kodları izlemesini sağlayacaktır.

                        Sunucunuzu doğru zamana ayarlayın

                        Bu gerçekten önemli değil, ancak sunucunuz yurt dışındaysa, bu kod satırı ile sunucunuza saat diliminizi ayarlamasını söyleyebilirsiniz:

                         # Choose time zone SetEnv TZ America/New_York

                        Varsayılan karakter kodlamasını ayarla

                        Aşağıdaki kod, metin ve HTML dosyaları için karakter kodlamasını UTF-8 (bir bilgisayar karakter kodlaması) olarak ayarlamanıza olanak tanır. Bu olmadan, aksanların yanlış anlaşılma riski vardır.

                         # Default encoding of text and HTML files AddDefaultCharset UTF-8

                        wp-config.php'yi koruyun

                        Web sitenizin yapılandırma dosyası ( wp-config.php ) veritabanına bağlanmak için gerekli bilgileri içerir.

                        Bu, web sitenizdeki en hassas dosyadır. Potansiyel bilgisayar korsanlarının hedefi olabilir. Bu kodu ana .htaccess dosyasına ekleyerek korunabilir:

                         # Protect the wp-config.php file <files wp-config.php> order allow,deny deny from all </files>

                        .htaccess dosyasının kendisini koruyun

                        wp-config.php dosyası gibi, .htaccess dosyası da tam olarak korunmalıdır. Bunu yapmak için şu kodu girin:

                         # Protect .htaccess and .htpasswds files <Files ~ "^.*\.([Hh][Tt][AaPp])"> order allow,deny deny from all satisfy all </Files>

                        Yorum spamını sınırla

                        Bir blogunuz varsa, bunu benim kadar siz de biliyorsunuz, yorum spam'ı gerçek bir acıdır.

                        Neyse ki, bunu doğrudan .htaccess dosyasında önlemenin bir hilesi var. Bu hızlı bir düzeltme değil, ancak Akismet eklentisi ile birleştiğinde spam'lerin çoğu filtrelenmelidir.

                         # Avoid comment spam <IfModule mod_rewrite.c> RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.mywebsite.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] </IfModule>

                        mywebsite.com alan adınızla değiştirmeyi unutmayın.

                        WPMarmite abonelerine katılın

                        Son WPMarmite gönderilerini (ve ayrıca özel kaynakları) alın.

                        ŞİMDİ ABONE OL
                        WPMarmite İngilizce haber bülteni

                        Bir yazarın kimliğinin algılanmasını önleme

                        Karmaşık bir kullanıcı girişi kullansanız bile, yine de tespit edilebilir.

                        Tabii ki, zaten temanızla herkese açık olarak göstermediğinizi farz ediyorum (bu olabilir).

                        Yönetici veya yazarlarınızdan birinin kimliği için mywebsite.com/?author=x yazarak x'i 1 ile değiştirmeyi deneyin. Korumalı değilseniz, mywebsite.com/author/author_id gibi bir sayfaya yönlendirileceksiniz.

                        Böylece iki saniyede bir kullanıcı kimliği bulursunuz. Oradan, geriye kalan tek şey şifrenizi tahmin etmeye çalışmak.

                        Kendinizi bu teknikten korumak için aşağıdaki kodu kullanın:

                         # Prevent the detection of an author's ID <IfModule mod_rewrite.c> RewriteCond %{QUERY_STRING} ^author=([0-9]*) RewriteRule .* - [F] </IfModule>

                        Resimlerinizin hotlink bağlantısını devre dışı bırakın

                        Hotlinking nedir? Merak etme, her şeyi açıklayacağım.

                        Temel olarak, web sitenize bir kez resim eklediğinizde (örneğin bir makaleye), herkes resimlerinizden birinin URL'sini kopyalayabilir ve web sitesinde görüntüleyebilir.

                        Bunun o kadar da kötü olmadığını düşünebilirsiniz, ancak herhangi bir nedenle çok takip edilen bir web sitesi resminizi alır ve sayfalarından birinde görüntülerse, sunucunuza istekte bulunulacaktır.

                        Hotlinking aslında bant genişliğini çalıyor . Web siteniz küçük bir paylaşılan sunucuya kuruluysa, kaynaklar sınırlı olduğu için sunucunuz bunu beğenmeyebilir.

                        Sorunu önlemek için bu kodu .htaccess dosyanıza ekleyin ve özelleştirin:

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        mywebsite.com'u alan adınızla değiştirin

                        Belirli web sitelerinin resimlerinizi görüntülemesine izin vermek için aşağıdaki kodu kullanın:

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite2.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite3.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        mywebsite.com, mywebsite2.com ve mywebsite3.com'u seçtiğiniz alan adlarıyla değiştirin

                        İstenen görüntünün yerine görüntülenecek görüntüyü de özelleştirebilirsiniz. Basit bir şey ekledim ama daha yaratıcı olabilirsin.

                        IP adreslerini yasakla

                        Bazı IP adreslerinin web sitenizin yönetimine biraz fazla sık girmeye çalıştığını fark ettiyseniz (örneğin Login Lockdown eklentisi ile), IP adreslerini yasaklayarak onlardan kurtulabilirsiniz.

                        Ayrıca, yorum spam göndericilerinin IP adreslerini alarak onları web sitenizden yasaklama olanağına da sahipsiniz.

                        Saldırganınız IP adresini değiştirebileceğinden bu çözüm kalıcı değildir, ancak daha az yetenekli kişilere karşı çalışabilir.

                         # Ban an IP address <Limit GET POST> order allow,deny deny from xxx.xxx.xxx.xxx allow from all </Limit>
                        xxx.xxx.xxx.xxx'i yasaklanacak IP adresiyle değiştirin

                        Belirli web sitelerinden gelen ziyaretçileri engelle

                        Uyumlu olmayan bir web sitesinin sizin sitenize bağlantı verdiğini fark ederseniz ve bu web sitesinden gelen ziyaretçilerin web sitenize erişmesini istemiyorsanız, şu kodu kullanın:

                         # Prevent visitors to these sites from accessing yours <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} mywebsite1.com [NC,OR] RewriteCond %{HTTP_REFERER} mywebsite2.com [NC,OR] RewriteRule .* - [F] </ifModule>
                        mywebsite1.com ve mywebsite2.com'u seçtiğiniz web siteleriyle değiştirin

                        Ziyaretçileri bir web sitesinden diğerine yönlendirin

                        Önceki ipucunu bir adım daha ileri götürmek için belirli web sitelerinden gelen ziyaretçileri başka bir web sitesine yönlendirebilirsiniz.

                        İşte kullanılacak kod:

                         # Redirect visitors from one site to another RewriteEngine on RewriteCond %{HTTP_REFERER} sourcewebsite\.com/ RewriteRule ^(.*)$ http://www.destinationwebsite.com [R=301,L]
                        Kaynak ve hedef web sitelerini seçtiğiniz sitelerle değiştirin

                        Yönlendirmeler oluşturun

                        .htaccess dosyası, yönlendirmeler yapmanıza olanak tanır (URL A'yı URL B'ye yönlendirin).

                        Bu, birkaç sayfayı yeniden yönlendirmek için kullanışlıdır, ancak çok fazla yönlendirme oluşturmak istiyorsanız, bu makalede tanıttığım WordPress Yeniden Yönlendirme eklentisini öneririm.

                        .htaccess dosyasında yönlendirmeler nasıl oluşturulur:

                         # Redirection of any page Redirect 301 /oldpage/ http://www.mywebsite.com/newpage # Redirection of a new category (with renaming from category to topic) Redirect 301 /category/technology/ http://www.mywebsite.com/topic/techno/

                        Adresi www olmadan www olan birine yönlendir

                        Bir web sitesi kurarken, ilk yapılması gereken işlemlerden biri, www olmadan web sitesini www ile sürüme (veya tam tersi) yönlendirmektir.

                        Bir dahaki sefere bir web sitesi oluşturduğunuzda testi yaparsanız, iki adresin mutlaka web sitenize bağlantı vermediğini göreceksiniz.

                        Bazı durumlarda, barındırma şirketi bununla otomatik olarak ilgilenir veya barındırma web sitesindeki yönetici sayfası aracılığıyla etkinleştirilmelidir (örneğin, Gandi'de durum budur).

                        Bu yönlendirmeyi manuel olarak yapmanız gerekiyorsa, mywebsite.com web sitenizle değiştirerek aşağıdaki kodu kullanın:

                         # Redirection of site without www to www RewriteEngine On RewriteCond %{HTTP_HOST} ^mywebsite. com [NC] RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [L,R=301]
                        mywebsite.com'u alan adınızla değiştirin

                        Adresi www ile www olmadan bire yönlendir

                        Öte yandan, web sitenizin adının önünde www olmasını istemiyorsanız (WPMarmite'de olduğu gibi), www olmadan sürüme yönlendirmek mümkündür.

                        .htaccess dosyasına aşağıdaki kodu ekleyin:

                        Uyarı : Bu kodu bir öncekiyle kullanmayın, aksi takdirde web siteniz bir yönlendirme döngüsünden muzdarip olacaktır (çünkü www içermeyen sürüm www ile olan sürüme yönlendirir ve www olmadan sürüme yönlendirir vb.).

                        HTTPS'ye yönlendir

                        Web sitenize HTTPS'ye geçmek için bir SSL sertifikası kurduysanız, tüm ziyaretçilerinizin web sitenizin güvenli sürümünü gezdiğinden emin olmanız gerekir.

                        Aksi takdirde, hassas bilgiler bilgisayar korsanları tarafından kurtarılabilir (örneğin kişisel veya bankacılık verileri).

                        Web sitenizin tamamını HTTPS'ye geçirmek için aşağıdaki kodu kullanın:

                         # Redirection to HTTPS RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^(. *)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

                        Belirli dosyaları indirmeye zorla

                        Bir web sitesinden bir dosya indirmek istediğinizde, tarayıcınız bazen onu görüntülemek için açmaya çalışır.

                        Şahsen, bunu PDF dosyaları için uygun buluyorum. Öte yandan, diğer dosya türleri için çok tatsız.

                        Ziyaretçilerinizin bu uzantılara sahip dosyaları doğrudan indirmesini sağlamak için aşağıdaki kodu ekleyin (istediğiniz gibi değiştirin):

                         # Force download for these file types AddType application/octet-stream .doc .docx .xls .xlsx .csv .mp3 .mp4

                        Özel bir bakım sayfası oluşturun

                        Önceki bir makalede, bir dizi bakım eklentisi keşfettiniz. Ancak, bakım sayfasının görüntülenemeyeceği durumlar vardır.

                        Bu can sıkıcı, değil mi?

                        Bir bakım sayfası almak için aşağıdaki kodu kullanabilirsiniz:

                         # Maintenance page RewriteEngine on RewriteCond %{REQUEST_URI} ! /maintenance.html$ RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx RewriteRule $ /maintenance.html [R=302,L]

                        Bunun çalışması için yapmanız gerekenler:

                        • Web sitesinin bakım altında olduğunu gösteren içeriğe sahip bir maintenance.html dosyası oluşturun.
                        • Web sitesine erişmenizi sağlamak için IP adresinizi satır 4'e (“ \ “ işaretini koruduğunuzdan emin olun) ekleyin (IP adresinizi bu web sitesinde öğrenin).

                        Bakım tamamlandığında, yorum olarak iletmek için her satırın başına “ # ” koyun.

                        Önbelleğe almayı etkinleştir

                        .htaccess dosyası, web sitenizdeki belirli dosyaların daha hızlı yüklenmesi için ziyaretçinizin tarayıcısında önbelleğe almanıza olanak tanır.

                        Aslında, tarayıcının önbelleğindeki dosyaları yeniden indirmesi gerekmeyecektir.

                        Bunu yapmak için aşağıdaki kodu girin:

                         # Caching of files in the browser <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 month" ExpiresByType text/html "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/pdf "access plus 0 seconds" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType application/x-font-woff2 "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/webm "access plus 1 month" ExpiresByType text/css "access plus 6 month" ExpiresByType application/javascript "access plus 6 month" ExpiresByType application/x-shockwave-flash "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" </IfModule> # Headers Header unset ETag FileETag None <ifModule mod_headers.c> <filesMatch "\.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(css)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(js)$"> Header set Cache-Control "private" </filesMatch> <filesMatch "\.(x?html?|php)$"> Header set Cache-Control "private, must-revalidate" </filesMatch> </ifModule>

                        Dosya önbelleğe alma, her dosya türü için belirtilen süre boyunca veya ziyaretçi önbelleğini temizleyene kadar etkili olacaktır.

                        Web sitenizi önbelleğe alma ile hızlandırmak için premium WP Rocket eklentisini (bağlı kuruluş bağlantısı) kullanmanızı öneririm. Kurulumu basit ve hızlı olduğu için WordPress'e yeni başlayanlar için mükemmeldir. Onun yardımıyla, yukarıda sunulan snippet'i (kod parçası) kullanmanıza gerek kalmayacak.

                        WP Rocket ile web sitenizi hızlandırın

                        WordPress uzmanları tarafından tanınan en güçlü önbelleğe alma eklentisiyle sitenizi bir rokete dönüştürün.
                        WP Rocket'i deneyin
                        Logo WP Roketi

                        Sıkıştırmayı etkinleştir

                        Şimdiye kadar gördüğümüz her şeye ek olarak, bazı kaynakları sunucudan tarayıcıya aktarılmadan önce sıkıştırmak mümkündür.

                        Ve dosya sıkıştırma, daha hızlı sayfa yükleme hızı anlamına gelir. Bu nedenle, web sitenize hız artışı sağlamak için bu kodu uygulamanızı öneririm:

                         # Compression of static files <IfModule mod_deflate. c> AddOutputFilterByType DEFLATE text/xhtml text/html text/plain text/xml text/javascript application/x- javascript text/css BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\. 0 [678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \. (?:gif|jpe?g|png)$ no-gzip dont-vary Header append Vary User-Agent env=! dont- vary </IfModule> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/json

                        Belirli komut dosyalarına erişimi devre dışı bırakın

                        WordPress, çalışması için wp-includes dizininde bulunan komut dosyalarını kullanır. Ancak, onlara doğrudan erişmek için hiçbir neden yoktur. Erişimi sınırlamak için bu kodu kullanın:

                         # Block the use of certain scripts RewriteEngine On RewriteBase / RewriteRule ^wp- admin/includes/ - [F,L] RewriteRule ! ^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/. +\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L]

                        Dosya enjeksiyonlarına karşı koruma

                        Bilgisayar korsanları, web sitenizin kontrolünü ele geçirmek için sunucunuza dosya göndermeyi deneyebilir. Yollarına bir İngiliz anahtarı atmak için bu kodu .htaccess dosyanıza dahil edebilirsiniz:

                         # Protection against file injections RewriteCond %{REQUEST_METHOD} GET RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC] RewriteRule .* - [F]

                        Diğer tehditlere karşı koruma

                        Facebook'ta Richard, .htaccess dosyasına birkaç satır ekleyerek tıklama ve diğer tehditlere karşı korumanın mümkün olduğunu söyledi.

                        Bilginiz için, tıklama hırsızlığı, frame veya iframe etiketleri kullanarak, ziyaretçiyi web sitenizde olmadıklarında, web sitenizde olduğuna inandırmaya yardımcı olan bir tekniktir.

                        Bu nedenle, aşağıdaki kod, tıklama hırsızlığından korunmanıza yardımcı olur, MIME Sniffing gibi diğer tehditlerle savaşır ve XSS saldırısı durumunda içeriği engeller (bu, kötü korunan değişkenlere HTML veya JavaScript enjekte eder).

                         # Various protections (XSS, clickjacking and MIME-Type sniffing) <ifModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" Header always append X-Frame-Options SAMEORIGIN Header set X-Content-Type-Options: "nosniff” </ifModule>

                        İşte bu kadar, web sitesinin kökünde bulunan .htaccess dosyasına dahil etmek için bir sürü optimizasyondan geçtiniz.

                        Devam edelim: wp-admin , wp-icludes , wp-content ve wp-content/uploads klasörleri için yeni kod parçaları.

                        wp-admin'de .htaccess dosyası nasıl özelleştirilir

                        wp-admin , web sitenizin sığınağıdır. Makaleler yazmak, menülerinizi yapılandırmak, temanızı ayarlamak ve çok daha fazlasını yapmak için gittiğiniz yer.

                        Yetkisiz kişilerin bu cennete girmemesi gerektiğini söylemeye gerek yok. Aksi takdirde, sonuçlarına dikkat edin.

                        Web sitenizin wp-admin klasörüne yerleştirdiğiniz bir .htaccess dosyasıyla güvenliği güçlendirmek için yapabilecekleriniz burada.

                        Web sitesi yönetimine erişimi sınırlayın

                        Yalnızca listelenen IP'lere sahip kişiler wp-admin klasörüne erişebilir. Yabancıların web sitenize giriş yapmasını önlemek için oldukça kullanışlıdır (doğru şifreye sahip olsalar bile).

                         <Limit GET POST PUT> order deny,allow deny from all # Alex's IP allow from xxx.xxx.xxx.xxx # Nico's IP allow from xxx.xxx.xxx.xxx # IP of another access point allow from xxx.xxx.xxx.xxx </Limit>

                        İkinci bir kimlik doğrulama ekle

                        Bir WordPress web sitesinin yöneticisine giriş yaptığınızda, bir giriş ve şifre kullanırsınız. .htaccess dosyası aracılığıyla ikinci bir dosya ve başka bir dosya eklemek mümkündür.

                        Öncelikle wp-admin dizininde .htpasswd adında bir dosya oluşturun ve içine bir kullanıcı adı ve şifre çifti girin. Size rehberlik etmesi için bu web sitesini kullanın:

                        HTPasswd Generator aracı arayüzü.

                        İlk alana kullanmak istediğiniz kullanıcı adını, ikinci alana şifrenizi girin ve ardından “ .htpasswd dosyası oluştur” seçeneğine tıklayın.

                        Ardından .htpasswd dosyasında görünecek satırı kopyalayın. Birden fazla kullanıcı oluşturmanız gerekiyorsa, işlemi tekrarlayın ve yeni kullanıcı adı/şifre çiftini yeni bir satıra ekleyin.

                        Örneğin, bu tür bir dosyayı alabilirsiniz:

                         alex:ieS547B1UxY8M jack:rSqEJf0SeTlRs
                        Bir .htpasswd dosyasının yapay içeriği

                        Ardından, .htaccess dosyasına aşağıdaki kodu ekleyin:

                         # Second authentication for administration <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> AuthName "Login to the administration" AuthType Basic AuthUserFile "/full/path/to/the/file/.htpasswd" Require valid-user

                        Bu işlemin zor yanı, .htpasswd dosyasının tam yolunu doğru bir şekilde elde etmektir. Kesin olarak bulmak için bir info.php dosyası oluşturun ve aşağıdaki kodu ekleyin:

                         <?php echo "Path to copy: " . realpath('.htaccess'); ?>
                        info.php dosyasını wp-admin'e yerleştirin

                        yourwebsite.com/wp-admin/info.php ve .htaccess dosyasına yerleştirilecek .htpasswd dosyasının gerçek yolunu göreceksiniz. Doğru yolu bulduktan sonra info.php dosyasını silin.

                        Bu kodu olduğu gibi eklerseniz, AJAX istekleri artık çalışmayacaktır. Sorunu çözmek için aşağıdaki parçacığı kullanın :

                         AuthType Basic AuthName "Protected page" AuthUserFile /home/.htpasswd Require valid-user <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> <Files admin-post.php> Order allow,deny Allow from all Satisfy any </Files> <Files "\.(css|gif|png|js)$"> Order allow,deny Allow from all Satisfy any </Files>
                        info.php dosyasını wp-admin'e yerleştirin

                        Az önce bahsettiğim her şeyi anladıysanız, WordPress yönetimine erişmek için ikili kimlik doğrulamanız olmalıdır.

                        Bir sonraki bölüme geçelim.

                        wp-includes içindeki .htaccess dosyası nasıl özelleştirilir?

                        PHP dosyalarına doğrudan erişimi engelle

                        wp-includes içinde bir .htaccess dosyası oluşturun ve PHP dosyalarının doğrudan yüklenmesini önlemek için aşağıdaki kodu bu dosyaya yapıştırın.

                         # Blocks direct access to PHP files (Thanks to Sucuri) <Files wp-tinymce.php> allow from all </Files> <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch> <Files wp-tinymce.php> Allow from all </Files> <Files ms-files.php> Allow from all </Files>

                        Yukarıdaki kod Sucuri eklentisi tarafından sağlanmaktadır.

                        .htaccess dosyası wp içeriğinde nasıl özelleştirilir?

                        PHP dosyalarına doğrudan erişimi engelle

                        wp-content klasörü için kod benzerdir, yalnızca istisnalar kaldırılmıştır:

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch>

                        wp-content/uploads içindeki .htaccess dosyası nasıl özelleştirilir?

                        PHP dosyalarına doğrudan erişimi engelle

                        Aynı kodla, PHP dosyalarının dışarıdan biri (örneğin kötü bir bilgisayar korsanı) tarafından yürütülmesini önlemek için medyanın depolandığı klasörü koruyun.

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\. (?i:php)$"> <IfModule ! mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core. c> Require all denied </IfModule> </FilesMatch>

                        WordPress'teki .htacess dosyasındaki son özet

                        Bu kılavuzda keşfettiğiniz gibi, .htaccess dosyası web sitenizin sunucusunu yapılandırmak için çok güçlü bir araçtır.

                        Dikkatli ve dikkatli bir şekilde kullanıldığında web sitenizin güvenliğini, performansını, SEO'sunu ve hatta kullanıcı deneyimini iyileştirebilir.

                        #WordPress sitenizin #htaccess dosyası güçlü bir araçtır. Nasıl çalıştığını öğrenin ve WPMarmite'ın ipuçlarıyla bir şef gibi kurun.

                        Tweetlemek için tıklayın

                        Bir kez daha, herhangi bir sorun olması durumunda sıfırlama yapmak için her zaman orijinal .htaccess dosyanızın yedeğini tutmanızı tavsiye ederim.

                        Değişikliklerinize aşırı dikkatle devam edin (sizi uyarmış olacağım!). Web sitenizin barındırıcısına bağlı olarak hatalar veya uyumsuzluklar oluşabilir.

                        Bu makalede epeyce ele alınmış olsa da, çeşitli kaynakları kullanarak .htaccess kurmakta daha ileri gitmek mümkündür:

                        • WordPress belgeleri ve Apache belgeleri (sunucunuzu çalıştıran yazılım).
                        • Konuyla ilgili ücretli bir kitabı bile olan Bozulabilir Basın blogu.

                        Hoşçakal demeden önce, yorumlarda görüşlerinizi almak istiyorum. .htaccess dosyanızı özelleştirdiniz mi?

                        Ve en önemlisi, kullanmaya alışık olduğunuz kod parçacıklarını diğer okuyucularla paylaşmaktan çekinmeyin.