.HTACCESS – 2020 üçün Tam Bələdçi – Əsaslardan Qabaqcıl Öyrənmə

Açıqlama: Dəstəyiniz saytın işini davam etdirməyə kömək edir! Bu səhifədə tövsiyə etdiyimiz bəzi xidmətlər üçün bir müraciət haqqı qazanırıq.


.Htaccess faylının istifadəsi ilə Apache veb-serverinin bir çox tərəfini (və onun bir çox variantını) idarə edə bilərsiniz. Aşağıda, xüsusi səhv səhifələrini, şifrə qoruyan qovluqları, yönləndirməni və daha çoxunu bilmək üçün lazım olan hər şeyi öyrənəcəksiniz..

Contents

Bu təlimatı necə istifadə etmək olar

Bu təlimat .htaccess istifadə üçün hərtərəfli bir qaynaq olaraq xidmət etmək üçün qurulmuşdur. .Htaccess istifadə etmək üçün tamamilə yeni olduğunuz təqdirdə aşağıdakı “.htaccess əsasları” adlı birinci fəsildən başlamaq istəyə bilərsiniz..

Xüsusi kod nümunələri və ya dərsliklər axtarırsınızsa, bu səhifənin alt hissələrinə birbaşa keçmək üçün bu səhifənin sağ tərəfindəki naviqasiyaya baxın..

.htaccess əsasları

Əmr verməyə başlamazdan əvvəl bəzi .htaccess əsasları ilə tanış olaq.

.Htaccess nədir?

.Htaccess faylı, bir veb serverinin müxtəlif istəklərə necə cavab verdiyini idarə edən bir konfiqurasiya faylıdır. Ən çox ticari veb hosting təmin edənlər tərəfindən istifadə olunan populyar Apache veb-serveri də daxil olmaqla bir neçə veb-server tərəfindən dəstəklənir.

.htaccess sənədləri qovluq səviyyəsində fəaliyyət göstərir. Bu, qovluq ağacında daha yüksək olan .htaccess direktivlərinin qlobal konfiqurasiya parametrlərini ləğv etməyə imkan verir..

.Htaccess necə istifadə olunur?

.Htaccess üçün bəzi ümumi istifadələrə URL-lərin yönləndirilməsi, veb saytlar (və ya veb səhifələr) üçün şifrə qorunmasını təmin etmək daxildir; xüsusi səhv səhifələrini göstərmək (məsələn, 404 səhifə); və SEO-nu ardıcıl davam edən kəsikli siyasət vasitəsilə artırmaq.

Sonuncu vəziyyətdə, veb ustası bir saytdakı hər URL-in sonundakı cırtdan bir tələb etməyi ya seçə bilər.

Niyə adlanır .htaccess?

.htaccess “hiper mətnə ​​giriş” anlamına gəlir. Adı, hər bir qovluq əsasında müəyyən fayllara istifadəçi girişini idarə etmək üçün alətin orijinal istifadəsindən yaranmışdır.

Apache-nin http.conf parametrləri direktivlərinin alt hissəsini istifadə edərək .htaccess sistem idarəçisinə müşayiət olunan .htpasswd faylında göstərilən bir ad və şifrə ilə istifadəçilərə fərdi qovluqlara girişi məhdudlaşdırmasına icazə verdi..

.Htaccess faylları hələ də bunun üçün istifadə edilsə də, bu təlimatda əhatə edəcəyimiz bir sıra başqa şeylər üçün də istifadə olunur.

.Htaccess Faylı haradadır?

Nəzəriyyə olaraq, serverinizdəki hər qovluq (qovluq) bir dənə ola bilər. Ümumiyyətlə, veb kök qovluğunda bir var – veb saytınızın bütün məzmununu özündə saxlayan və ümumiyyətlə public_html və ya www kimi bir şey etiketli qovluq..

Çox sayda veb alt qovluğu olan vahid bir qovluğunuz varsa, ümumiyyətlə əsas kök (public_html) qovluğunda bir .htaccess faylı və hər alt qovluqda bir (/ sitename) bir sənəd olacaqdır..

Niyə .htaccess Faylımı tapa bilmirəm?

Əksər fayl sistemlərində nöqtə (.) İlə başlayan fayl adları gizli sənədlərdir. Bu, ümumiyyətlə, ümumiyyətlə görünməmələri deməkdir.

Ancaq onlara çatmaq çətin deyil. FTP müştəri və ya Fayl menecerinizdə “gizli sənədləri göstərmək” üçün bir parametr olmalıdır. Bu fərqli proqramlarda fərqli yerlərdə olacaq, lakin ümumiyyətlə “Seçimlər”, “Parametrlər” və ya “Qovluq Seçimləri.” Bəzən “View” menyusunda tapa bilərsiniz.

.Htaccess Faylım yoxdursa nə edim?

Əvvəlcə “gizli sənədləri göstər” (və ya onun ekvivalenti) açdığınızdan əmin olun ki, əslində bunların olmadığına əmin ola bilərsiniz. Çox vaxt .htaccess faylları avtomatik olaraq yaradılır, buna görə ümumiyyətlə biriniz olacaq. Ancaq bu həmişə belə deyil.

Həqiqətən biriniz yoxdursa, asanlıqla birini yarada bilərsiniz:

  • Düz bir mətn redaktorunda yeni bir işə başlayın.
  • ASCII formatında (UTF-8 və ya başqa bir şey deyil) .htaccess kimi qeyd edin.
    • Htaccess.txt və ya bu kimi bir şey olmadığından əmin olun. Faylın əlavə. Genişləndirmə olmadan yalnız .htaccess adı olmalıdır.
  • FTP və ya brauzerinizə əsaslanan fayl meneceri vasitəsi ilə müvafiq qovluğa yükləyin.

Səhv idarəetmə

Səhv sənədlərini təyin etmək üçün .htaccess sənədlərindən istifadə etmək çox sadədir, bu xüsusiyyət ilə edə biləcəyiniz ən sadə işlərdən biridir.

Səhv kodu nədir?

Bir veb serverə bir sorğu edildikdə, bir sorğuya cavab vermək üçün çalışır, bir qayda olaraq bir sənəd (HTML səhifələrində olduqda) və ya bir tətbiqə daxil olub nəticəni geri qaytarır (Məzmun İdarəetmə Sistemləri və digər veb tətbiqləri).

Bununla bir şey səhv olarsa, bir səhv yaranır. Fərqli səhv növləri fərqli səhv kodlarına malikdir. Sənəd serverdə tapılmadığı təqdirdə geri qaytarılan 404 səhvlə tanışsınız.

Bir serverin cavab verə biləcəyi bir çox səhv kodu var.

Müştəri tələb səhvləri

  • 400 – Pis istək
  • 401 – İcazə tələb olunur
  • 402 – Ödəniş tələb olunur (hələ istifadə olunmur)
  • 403 qadağandır
  • 404 tapılmadı
  • 405 – metod icazə verilmir
  • 406 – Qəbul edilmir (kodlaşdırma)
  • 407 – Proxy Autentifikasiyası tələb olunur
  • 408 – İstifadəsi vaxtı bitdi
  • 409 – Ziddiyyətli tələb
  • 410 – Getdi
  • 411 – Məzmun uzunluğu tələb olunur
  • 412 – Əvvəlcədən alınmadı
  • 413 – Müəssisəni çox uzun müddətə tələb edin
  • 414 – URI tələb edin
  • 415 – Dəstəklənməyən Media Növü.

Server səhvləri

  • 500 – Daxili server xətası
  • 501 – İcra edilmir
  • 502 Xətalı Keçid
  • 503 – Xidmət mövcud deyil
  • 504 – Gateway vaxtı bitdi
  • 505 – HTTP versiyası dəstəklənmir.

Default səhv idarəetmə

Hər hansı bir səhv idarə etmə növünü göstərməsəniz, server sadəcə mesajı brauzerə qaytaracaq və brauzer istifadəçiyə ümumi səhv mesajı göstərəcəkdir. Bu ümumiyyətlə ideal deyil.

Səhv sənədlərinin göstərilməsi

Əməl etmək istədiyiniz hər bir səhv kodu üçün HTML sənədini yaradın. İstədiyinizi adlandıra bilərsiniz, ancaq tapılmadı.html və ya sadəcə 404.html kimi şeyləri xatırlamağa kömək edəcək bir şey adlandırmaq faydalıdır..

Sonra .htaccess faylında hər bir səhv növü ilə hansı sənədin istifadə olunacağını göstərin.

SəhvDocument 400 /errors/bad-request.html
SəhvDocument 401 /errors/auth-reqd.html
SəhvDocument 403 /errors/forbid.html
SəhvDocument 404 /errors/not-found.html
ErrorDocument 500 /errors/server-err.html

Diqqət yetirin ki, hər direktiv öz xəttinə yerləşdirilib.

Və bu qədər. Çox sadə.

Alternativlər Səhvlə Mübarizə üçün .htaccess

WordPress və Drupal kimi əksər Məzmun İdarəetmə Sistemləri (CMS) və əksər veb tətbiqetmələrdə bu səhv kodlarının çoxu ilə işləmək öz yolu olacaq..

.Htaccess ilə Şifrə qorunması

.Htaccess fayllarının orijinal məqsədi, hər istifadəçi bazasında müəyyən qovluqlara (bu səbəbdən adı, hiper mətnə ​​giriş) məhdudlaşdırmaq idi. Beləliklə, əvvəlcə buna baxacağıq.

.htpasswd

.Htaccess sistemi üçün istifadəçi adları və şifrələr .htpasswd fayl adı ilə saxlanılır.

Bunlar hər biri bir sətirdə, formada saxlanılır:

istifadəçi adı: şifrələnmiş söz

misal üçün:

johnsmith: F418zSM0k6tGI

Faylda saxlanılan parolun giriş üçün istifadə olunan əsl parol olmadığını başa düşmək vacibdir. Əksinə bu parolun kriptoqrafik heşidir.

Bu o deməkdir ki, parol şifrələmə alqoritmi ilə işlədilib və nəticə saxlanılır. Bir istifadəçi daxil olduqda, düz mətnli parol daxil edilir və eyni alqoritmdən keçir. Giriş eynidirsə, parollar uyğun gəlir və istifadəçiyə giriş imkanı verilir.

Şifrələri bu şəkildə saxlamaq onları daha etibarlı edir – kimsə .htpasswd faylınıza giriş əldə edərsə, orijinalları deyil, yalnız hasarlanmış parolları görəcəkdir. Hash-dan orijinalları yenidən qurmaq üçün bir yol yoxdur – bu bir yoldur şifrələmə.

Bir neçə fərqli hashing alqoritmindən istifadə edilə bilər:

  • Təhlükəsiz alqoritmlər – Bunlardan birini istifadə edin
    • bcrypt – Bu ən etibarlıdır, eyni zamanda hesablamaq üçün ən yavaşdır. Apache və Nginx tərəfindən dəstəklənir.
    • md5 – Bu Apache-nin cari versiyaları tərəfindən istifadə edilən standart hashing alqoritmi. Nginx tərəfindən dəstəklənmir.
  • Etibarsız alqoritmlər – usethese etməyin
    • crypt () – Bu standart hashing funksiyası idi, lakin çox etibarlı deyildir.
    • SHA və duzlu SHA.

Komut satırında istifadəçi adları və şifrələr yaratmaq

Bir .htpasswd faylı yarada və birbaşa istifadəçi adı-şifrə cütlərini birbaşa əmr satırından və ya SSH terminalından əlavə edə bilərsiniz..

.Htpasswd faylı ilə işləmə əmri sadəcə htpasswd.

Yeni .htpasswd faylı yaratmaq üçün -c seçimi (yaratmaq üçün) ilə əmrdən istifadə edin, sonra qovluğa (URL deyil, serverdəki həqiqi yol) yazın. Əlavə etmək istədiyiniz istifadəçini də daxil edə bilərsiniz.

> htpasswd -c /usr/local/etc/.htpasswd johnsmith

Bu / etc / qovluğunda yeni .htpasswd faylı yaradır və johnsmith adlı istifadəçi üçün bir qeyd əlavə edir. Sizdən md5 şifrələməsini istifadə edərək saxlanacaq bir parol istənir.

Göstərilən yerdə artıq .htpasswd faylı varsa, yenisi yaranmır – yeni istifadəçi sadəcə mövcud fayla əlavə olunur.

Əgər bcrypt hashing alqoritmindən istifadə etmək istəyirsinizsə, -b seçimini istifadə edin.

Şifrə Sətri olmadan Şifrə Hashing

Skript satırını və ya SSH terminalını istifadə edərək rahat hiss etmirsinizsə (və ya nədənsə daxil olmağınız mümkün deyilsə) .htpasswd bir fayl yarada və düz bir mətn redaktoru ilə doldurub yükləyə bilərsiniz. FTP və ya fayl meneceri vasitəsi ilə.

Lakin sonra htpasswd əmrinin sizin üçün qayğı göstərdiyi üçün şifrələrinizi birtəhər şifrələməlisiniz..

İnternetdə çox sayda .htpasswd şifrələmə xidməti var. Ən yaxşısı, ehtimal ki, Aspirine.org saytındakı htpasswd generatorudur.

Bu, hashing alqoritmi və parol gücü üçün bir neçə seçim verir. Siz sadəcə çıxışı oradan .htpasswd faylınıza kopyalaya və yapışdıra bilərsiniz.

.Htpasswd Faylınızı Harada Saxlayın

Hər .htaccess faylı üçün ayrıca .htpasswd faylına ehtiyacınız yoxdur. Əslində etməməlisiniz. Ən normal şərtlərdə, bütün veb hosting hesabınız və ya əsas server qovluğunuz üçün biriniz olmalıdır.

.Htpasswd faylı ümumi açıq bir qovluqda olmamalıdır – public_html və ya www və ya hər hansı bir alt bölmə deyil. Bu, yalnız serverdən əldə edilə bilən bir qovluqdakılardan yuxarı olmalıdır.

.Htacwd ilə necə istifadə olunur

Hər bir qovluğun özünün .htaccess faylı və ona daxil olmaq üçün icazə verilən istifadəçilər dəsti var.

Hər hansı birinin (daxil olmayan istifadəçilər daxil olmaqla) qovluğuna və onun fayllarına daxil olmasını istəyirsinizsə, sadəcə heç bir şey etmə – bu standartdır.

Girişi məhdudlaşdırmaq üçün .htaccess faylına aşağıdakıları əlavə etməlisiniz:

AuthUserFile /usr/local/etc/.htpasswd
Həqiqi ad "Təhlükəsiz ərazinin adı"
AuthType Basic

etibarlı istifadəçi tələb edir

Birinci sətir istifadəçi adları və şifrələrinizin siyahısına yol və fayl adını göstərir. İkinci sətirdə təmin edilmiş ərazinin adı göstərilir. Bu, istədiyiniz hər şey ola bilər. Üçüncü sətirdə ümumiyyətlə ehtiyacınız olan “Əsas” identifikasiya göstərilir.

Etiket nəyin məhdud olduğunu göstərir (bu vəziyyətdə, qovluqdakı istənilən faylı əldə etmək və ya POST etmək imkanı). Etiket cütü içərisində sənədlərə icazə verilənlərin siyahısı var.

Yuxarıdakı nümunədə istənilən etibarlı istifadəçi fayllara daxil ola bilər. Müəyyən bir istifadəçiyə və ya bir neçə istifadəçiyə girişi məhdudlaşdırmaq istəyirsinizsə, adlarını çəkə bilərsiniz.

AuthUserFile /usr/local/etc/.htpasswd
Həqiqi ad "Təhlükəsiz ərazinin adı"
AuthType Basic

istifadəçi johnsmith tələb edir
istifadəçi janedoe tələb edir

Ayrıca istifadəçiləri qruplara qoya və qrupa əsaslanaraq girişə icazə verə bilərsiniz. Bu qrupları ifadə edən başqa bir fayl əlavə etməklə edilir.

Adı verilə bilən qrup faylı (məsələn) .htgroups bu kimi görünür:

admin: johnsmith janedoe
heyət: jackdoe sinismith

Sonra onu .htaccess sənədinizdə göstərə bilərsiniz:

AuthUserFile /usr/local/etc/.htpasswd
AuthGroupFile /usr/local/etc/.htgroup
Həqiqi ad "Admin sahəsi"
AuthType Basic

qrup rəhbərini tələb edin

.Htpasswd-a alternativlər

Serverinizdəki müəyyən fayllara giriş məhdudlaşdırmaq üçün .htaccess və .htpasswd-dan istifadə etmək çox sayda statik sənədiniz varsa həqiqətən məqsədəuyğundur. Xüsusiyyət veb saytlar ümumiyyətlə HTML sənədləri və əlaqəli mənbələr toplusu olduqda hazırlanmışdır.

WordPress və ya Drupal kimi bir məzmun idarəetmə sistemindən (CMS) istifadə edirsinizsə, iç içə daxil olmağı məhdudlaşdırmaq və ya vermək üçün daxili istifadəçi idarəetmə xüsusiyyətlərindən istifadə edə bilərsiniz..

Server Side’i aktivləşdirir (SSI)

İndi Server Side’nin nə olduğunu və onlardan necə istifadə edə biləcəyinizi öyrənək.

Server tərəfi nələrə daxildir?

SSI və ya Server Side daxildir, əsasən HTML sənədlərini digər HTML sənədlərinə daxil etmək üçün istifadə olunan yüngül bir yazıdır. Bu başlıqlar, altbilgilər, yan panellər və menyular kimi ümumi elementləri yenidən istifadə etməyi asanlaşdırır. Bunu bugünkü şablon və məzmun idarəetmə sistemlərinin bir xəbərçisi kimi düşünə bilərsiniz.


SSI ayrıca şərti direktivlərə (əgər, başqa bir şeyə və s.) Və dəyişənlərə malikdirsə, onu istifadə etmək bir qədər çətindirsə, skript dilini tam şəkildə düzəldir. (Tipik olaraq, bir ovucdan daha mürəkkəb hər hansı bir layihə bir inkişaf etdirənin PHP və ya Perl kimi daha sağlam bir dil seçməsinə səbəb olacaqdır.)

SSI’yi aktivləşdirir

Bəzi veb hosting serverlərində Side Defolt olaraq aktiv olanlar daxil olacaq. Yoxdursa, bunu .htaccess faylınızla edə bilərsiniz, məsələn:

AddType mətni / html .shtml
AddHandler server təhlil edildi .shtml
Seçim indeksləri FollowSymLinks daxildir

Bu .shtml uzantısı olan bütün fayllar üçün SSI imkan verməlidir.

.Html fayllarında SSI

.Html fayllarında SSI təhlilini aktivləşdirmək istəyirsinizsə, bunu yerinə yetirmək üçün bir təlimat əlavə edə bilərsiniz:

AddHandler server təhlil edildi .html

Bunun faydası dünyaya istifadə etdiyinizi bildirmədən SSI istifadə edə biləcəyinizdir. Gələcəkdə tətbiqetmələri dəyişdirsəniz, .html fayl uzantılarını saxlaya bilərsiniz.

Bunun mənfi tərəfi odur ki, hər .html fayl SSI ilə təhlil ediləcəkdir. Həqiqətən heç bir SSI analizinə ehtiyac duymayan çox sayda .html faylınız varsa, bu səhifə yükləmə müddətini yavaşlatan və CPU qaynaqlarından istifadə edərək çox sayda lazımsız server təqdim edə bilər..

İndeks səhifənizdəki SSI

Bütün .html fayllarını təhlil etmək istəmirsinizsə, ancaq indeks (ev) səhifənizdə SSI istifadə etmək istəsəniz, bunu .htaccess sənədinizdə göstərməlisiniz..

Veb server bir qovluğun indeks səhifəsini axtararkən, başqa cür söyləməsəniz, index.html axtarır.

.Html fayllarını təhlil etmirsinizsə, SSI işləməsi üçün indeks səhifənizin index.shtml adını almağınıza ehtiyac olacaq və serveriniz bunu default olaraq axtarmağı bilmir..

Bunu etmək üçün sadəcə əlavə edin:

DirectoryIndex index.shtml index.html

Bu, index.shtml faylının qovluğun əsas indeks faylı olduğunu veb serverə xəbərdar edir. İkinci parametr, index.html bir backupdır, əgər index.shtml tapılmasa.

IP qara siyahı və IP ağ siyahı

İstifadəçiləri müəyyən bir IP ünvanından (qara siyahıya) bağlamaq üçün .htaccess istifadə edə bilərsiniz. Problemlərə səbəb olan xüsusi IP ünvanlarından fərdi istifadəçiləri müəyyənləşdirdiyiniz halda bu faydalıdır.

Ayrıca müəyyən bir IP ünvanı (ağ siyahıdan) gələn qonaqlardan başqa hamısını bloklayaraq tərsini edə bilərsiniz. Yalnız təsdiq edilmiş istifadəçilərə girişi məhdudlaşdırmaq lazımdırsa bu faydalıdır.

IP tərəfindən qara siyahı

Xüsusi IP ünvanlarını bloklamaq üçün müvafiq IP adresləri olan aşağıdakı direktivdən istifadə edin:

sifariş vermək, inkar etmək
111.22.3.4-dən imtina edin
inkar 789.56.4.
hamısından icazə

Birinci sətirdə icazə verilən direktivlərin əvvəlcə inkar direktivlərindən əvvəl qiymətləndiriləcəyi bildirilir. Bu o deməkdir ki, hamısından icazə verilən standart vəziyyət olacaq və bundan sonra yalnız inkar təlimatlarına uyğun gələnlər rədd ediləcəkdir.

Əgər bu inkar etmə, icazə vermək üçün tərsinə çevrilmişsə, onda qiymətləndirilən son şey inkar ifadələrini yalnış hər kəsi qəbul etməyə imkan verən bütün göstərişlərdən gələn icazə olacaqdır..

789.56.4-dən imtina edən üçüncü sətirə diqqət yetirin. – bu tam bir IP ünvanı deyil. Bu blokdakı bütün IP ünvanlarını rədd edəcək (789.56.4 ilə başlayan hər hansı bir).

İstədiyiniz qədər çox IP adresini, hər bir sətirdən birinə direktivdən imtina ilə daxil edə bilərsiniz.

IP tərəfindən ağ siyahı

Qara siyahının tərsini ağ siyahıya salınır – göstərdiyinizlərdən başqa hər kəsə məhdudiyyət qoyulur.

Güman etdiyiniz kimi, sifariş direktivini ləğv etmək lazımdır ki, əvvəlcə hər kəs rədd edilsin, amma sonra müəyyən ünvanlara icazə verilir.

sifariş inkar et, icazə ver
hamısından imtina
icazə 111.22.3.4-dən
icazə 789.56.4-dən.

Bloklama hərəkətləri

.htaccess istifadəçiləri domen və ya yönləndirici ilə bloklamaq üçün istifadə edilə bilər. Botlar və kazıyıcıları bloklamaq üçün istifadə edə bilərsiniz. Bunun necə olacağını öyrənək.

Domen tərəfindən istifadəçiləri necə bloklamaq olar

Ayrıca bir domen adı əsasında istifadəçiləri blok edə və ya icazə verə bilərsiniz. Bu, insanları IP adresindən IP adresinə keçdikləri zaman blok etməyə kömək edə bilər.

Bununla birlikdə, əks DNS IP ünvan xəritələrini idarə edə biləcək insanlara qarşı işləməyəcəkdir.

sifariş vermək, inkar etmək
example.com-dan rədd et
hamısından icazə

Bu subdomomenlər üçün də işləyir – əvvəlki nümunədə xyz.example.com saytına daxil olanlar da bloklanacaqdır.

Referrer tərəfindən istifadəçiləri necə bloklamaq olar

Bir müraciətçi saytınıza bir keçid olan veb saytdır. Kimsə saytınızdakı bir səhifəyə bir keçid izlədikdə, gəldikləri sayt istinad edir.

Baxmayaraq ki, bu, veb saytınıza tıklanabilir linklər üçün işləmir.

İnternetin hər yerindəki səhifələr, trafik baxımından sizə heç bir fayda vermədən, bant genişliyinizdən istifadə edərək və bəlkə də müəllif hüquqlarınızı pozaraq şəkillərinizlə birbaşa əlaqə qura bilər. Onlar həmçinin CSS sənədlərinizə, JS skriptlərinizə və ya digər mənbələrə əlaqələndirə bilərlər.

Bir çox veb sayt sahibləri bir az baş verən zaman bununla razılaşırlar, lakin bəzən bu cür şey sui-istifadə halına çevrilə bilər.

Bundan əlavə, bəzən aktual mətndə tıklanabilir hiperlink, məsələn, düşmən saytlardan gələndə problemlidir.

Bu səbəblərdən hər hansı birinə görə, xüsusi müraciət edənlərdən gələn istəkləri bloklamaq istəyə bilərsiniz.

Bunu etmək üçün mod_rewrite modulunun aktiv edilməsinə ehtiyacınız var. Bu, əksər veb hostlar üçün bir qayda olaraq effektivdir, lakin bu olmadıqda (ya da bilmirsinizsə) adətən yalnız hosting şirkətinizdən soruşa bilərsiniz. (Əgər edə bilmirlərsə və ya edə bilmirlərsə, yeni bir ev sahibi haqqında düşünmək istəyə bilərsiniz.)

Referer əsaslı bloklanmanı həyata keçirən .htaccess direktivləri mod_rewrite mühərrikinə etibar edir.

İstinadçı tərəfindən bloklanacaq kod bu kimi görünür:

RewriteEngine aktivdir
RewriteCond% ^ http: //.*example.com [NC, OR]
RewriteCond% ^ http: //.*anotherexample.com [NC, OR]
RewriteCond% ^ http: //.*onemoreexample.com [NC]
RewriteRule. * – [F]

Bu bir az çətin, ona görə də gəzməyə imkan verir.

Birinci sətir, RewriteEngine, yenidən yazmaqla əlaqəli bir sıra direktivlərin gəldiyini eşidir..

Sonrakı üç sətirdə hər biri bir domenə istinad edir. Öz istifadəniz üçün dəyişdirməyiniz lazım olan hissə domen adıdır (misal üçün) və genişləndirmə (.com).

.Com-dan əvvəl geriyə əyilmə qaçış xarakteridir. Domen adında istifadə edilən nümunə nizamlı bir ifadədir və nöqtə RegEx-də bir şey deməkdir, buna görə də arxa cizgidən istifadə edərək “qaçmaq” lazımdır.

Mötərizədə olan NC, matçın kiçik həssas olmamalı olduğunu göstərir. OR hərfi “və ya” deməkdir və digər qaydaların gəldiyini göstərir. (Yəni – URL bu və ya bu və ya bu birdirsə, bu yenidən yazma qaydasına əməl edin.)

Son sətir faktiki yenidən yazma qaydasıdır. [F] “qadağan olunmuş” deməkdir. Siyahıdakılar ilə uyğun gələn bir müraciətçi ilə edilən hər hansı bir sorğu uğursuz olacaq və 403 Qadağan edilmiş bir səhv təqdim edəcək.

Botlara və veb skriptlərə maneə törətmək

Bir veb saytın idarə edilməsinin daha zəhlətökən cəhətlərindən biri bant genişliyinizin insan olmayan qonaqlar tərəfindən – bot, tarama, veb kazıyıcılar tərəfindən yeyildiyini aşkar etməkdir..

Bunlar, ümumiyyətlə bəzi aşağı səviyyəli SEO əməliyyatının bir hissəsi olaraq yenidən yayımlanması üçün saytınızdan məlumat çıxarmaq üçün hazırlanmış proqramlardır..

Əlbətdə qanuni botlar – əsas axtarış motorları kimi. Qalanları zərərvericilərə bənzəyir ki, yalnız öz resurslarınızdan yeyib sizə heç bir dəyər verməz.

Müəyyən edilmiş bir neçə yüz bot var. Heç vaxt bunların hamısını blok edə bilməyəcəksiniz, ancaq bacardığınız qədər bloklayaraq aktivliyi darıxdırıcı bir nəriliyə qədər davam etdirə bilərsiniz.

AskApache tərəfindən tərtib edilmiş 400-dən çox məlum botu bloklayan faydalı bir yazmaq qaydası var.

Bir qovluq üçün Defolt Faylın göstərilməsi

Bir fayl adını göstərməyən bir URL üçün bir veb serverinə sorğu edildikdə, əksər veb serverlərində qurulan fərziyyə URL-nin bir qovluğa aid olmasıdır.

Beləliklə, http://example.com-u tələb etsəniz, Apache (və digər əksər veb serverlər) domen üçün kök qovluğunda (ümumiyyətlə / public_html və ya buna bənzər bir şey, lakin bəlkə də / example-com) axtarmağa davam edir fayl.

Varsayılan olaraq, standart sənəd, index.html adlanır. Bu veb yalnız sənədlər toplusu olanda internetin başlanğıcına doğru gedir və “ev” səhifəsi ümumiyyətlə bu sənədlərin bir indeksi idi.

Ancaq index.html-in standart səhifə olmasını istəməyəcəksiniz. Məsələn, index.shtml, index.xml və ya index.php kimi fərqli bir fayl tipinə ehtiyacınız ola bilər.

Və ya ana səhifənizi “indeks” kimi düşünə bilməzsiniz və onu fərqli bir şey adlandırmaq istərdiniz, məsələn home.html və ya main.html.

Defolt Kataloq səhifəsini təyin etmək

.htaccess asanlıqla bir qovluq üçün standart səhifəni təyin etməyə imkan verir:

DirectoryIndex [burada fayl adı]

Standartınızın ev olmasını istəyirsinizsə.html bu qədər asandır:

DirectoryIndex ev.html

Birden çox Defolt Səhifələrin yaradılması

Ayrıca birdən çox DirectoryIndex göstərə bilərsiniz:

DirectoryIndex index.php index.shtml index.html

Bunun necə işlədiyi, veb serverin əvvəlcə birincisini axtarmasıdır. Bunu tapa bilmirsə, ikincisini axtarır və s.

Bunu niyə etmək istəyərdiniz? Şübhəsiz ki, həqiqi səhifəniz kimi hansı faylı istifadə etmək istədiyinizi bilirsiniz?

Unutmayın ki .htaccess öz qovluğuna və daha çox yerli bir sənəd tərəfindən ləğv olunana qədər hər alt bölməyə təsir göstərir. Bu o deməkdir ki, kök qovluğunuzdakı bir .htaccess faylı bir çox alt qovluq üçün təlimat verə bilər və hər birinin öz standart səhifə adları ola bilər..

Bu qaydaları bir .htaccess faylında kökdə yerləşdirmək o deməkdir ki, fayldakı bütün digər göstərişləri hər qovluq səviyyəsində çoxaltmaq lazım deyil..

URL yönlendirme ve URL yeniden yazma

.Htaccess fayllarının ən çox yayılmış istifadələrindən biri URL yönləndirmələridir.

URL yönləndirmələri sənəd və ya qaynaq üçün URL dəyişdikdə istifadə edilməlidir. Veb saytınızı yenidən təşkil etmisinizsə və ya domen adlarını dəyişdirmisinizsə bu xüsusilə faydalıdır.

301 vs 302 yönləndirmə

Brauzer baxımından, yönləndirmələrin iki növü var, 301 və 302. (Bu nömrələr veb server tərəfindən yaradılan səhv koduna aiddir.)

301 “daimi köçürülür” deməkdir, 302 isə “müvəqqəti olaraq köçürülmüşdür” deməkdir. Əksər hallarda 301 istifadə etmək istəyirsən. Bu, yeni səhifəyə keçirərək orijinal URL-lə bağlı hər hansı bir SEO kapitalını qoruyur.

Ayrıca brauzerlərin əlfəcinlərini yeniləməsinə səbəb olacaqdır. Əksər brauzerlər köhnə-yeni xəritəni önbelleğe keçirəcəklər, buna görə bir keçid və ya istifadəçi orijinala girməyə çalışdıqda yeni URL tələb edəcəklər. URL daimi dəyişibsə, bunlar hamısı arzu olunan nəticələrdir.

302 yönləndirməni istifadə etmək üçün çox az səbəb var, çünki URL-i müvəqqəti dəyişdirmək üçün ümumiyyətlə çox az səbəb var. Heç vaxt bir URL dəyişdirmək arzuolunmazdır, lakin bəzən zəruridir. Müvəqqəti olaraq onu sonradan dəyişdirmək planı ilə dəyişdirmək pis bir fikirdir və demək olar ki, həmişə qarşısını almaq olar.

Bu hissədəki bütün nümunələr 301 yönləndirmədən istifadə edəcəkdir.

Yenidən yönləndirmə vs Yenidən yayınma

.Htaccess direktivləri olan bir URL-i dəyişdirmək üçün iki fərqli yol var – İstiqamətləndirmə əmri və mod_rewrite motoru.

Redirect əmri əslində brauzerə yönləndirmə mesajı göndərərək başqa URL-lərin axtarılacağını bildirir.

Tipik olaraq, mod_rewrite aləti bir URL-i (sorğuda göstərilən) fayl sisteminin və ya CMS-in başa düşəcəyi bir şeyə “çevirir” və sonra sorğunu tərcümə edilmiş URL tələb olunan URL olduğu kimi idarə edir.

Bu şəkildə istifadə edildikdə veb brauzer heç bir şeyin baş verdiyini fərq etmir – sadəcə tələb etdiyi məzmunu alır.

Mod_rewrite aləti, Yönləndirmə əmri ilə eyni şəkildə işləyən 301 yönləndirməni istehsal etmək üçün istifadə edilə bilər, lakin qaydalar üçün daha çox seçim var – mod_rewrite mürəkkəb naxış uyğunluğu və yenidən yazma təlimatlarına sahib ola bilər..

Əsas səhifə yönləndirmə

Bir səhifəni başqa URL-ə yönləndirmək üçün kod:

301 /relative-url.html http://example.com/full-url.html yönləndirin

Bu tək sətirli əmr, hər biri bir boşluqla ayrılmış dörd hissədən ibarətdir:

  • Yönləndirmə əmri
  • Yönləndirmə növü (301 – Daimi köçürülmüşdür)
  • Orijinal səhifənin nisbi URL
  • Yeni səhifənin tam və tam URL.

Nisbi URL adətən veb kökü və ya domenin kökü olan .htaccess faylı olan qovluğa nisbətlidir..

Beləliklə, http://example.com/blog.php http://blog.example.com saytına köçürülmüş olsaydı, kodu belə olacaqdır:

301 /blog.php http://blog.example.com yönləndirin

Veb saytınızın böyük bir hissəsini yönləndirirsiniz

Kataloqunuzun strukturunu ətrafınıza köçürmisinizsə, səhifələrinizin adlarını eyni saxlasanız, müəyyən bir qovluq üçün bütün tələbləri yenisinə yönləndirmək istəyə bilərsiniz..

301 / köhnə kataloq http://example.com/new-directory yönləndirin

Bütün Saytı yönləndirmək

Bütün saytınız yeni bir URL-yə keçibsə nə etməlisiniz? Asandır.

301 / http://newurl.com saytına yönləndirin

Www-ı olmayanlara yönləndirir

Getdikcə veb saytlar www alt domenindən uzaqlaşır.

Həqiqətən heç vaxt lazım deyildi, ancaq veb sayt işlədən insanların çoxu öz sənədlərini saxlamaq üçün bir serverdən istifadə etdikləri və www və ya “dünya miqyaslı veb” qovluğu istifadə etmək istədikləri məzmun üçün istifadə edildiyi günlərdən bu yana bir dövr idi. başqaları ilə bölüşmək.

Bu günlərdə bəziləri bundan istifadə edir, bəziləri isə istifadə etmir. Təəssüf ki, bəzi istifadəçilər hələ də avtomatik olaraq www. vərdişsiz hər URL qarşısında. Www istifadə etmirsinizsə, bu tələblərin lazımi yerə çatdığına əmin olmaq istəyirsiniz.

Bunu etmək üçün, ehtimal ki, veb hostunuzda quraşdırılmış mod_rewrite modulundan istifadə etməlisiniz.

Seçimlər + FollowSymlinks
RewriteEngine aktivdir
RewriteCond% ^ www.example.com [NC]
RewriteRule ^ (. *) $ Http://example.org/$1 [R = 301, NC]

Ehtiyatlı ol!

Bir çox digər .htaccess və mod_rewrite təlimatları bunu həyata keçirmək üçün aşağıdakı kodun bir sıra dəyişikliyini təklif edir:

Seçimlər + FollowSymlinks
RewriteEngine aktivdir
RewriteCond%! ^ Example.com [NC]
RewriteRule ^ (. *) $ Http://example.org/$1 [R = 301, NC]

Bununla problemi görürsünüzmü?

Bütün alt sahələri əsas sahəyə yönləndirir. Buna görə yalnız www.example.com deyil, həm də blog.example.com və admin.example.com və başqa bir şey. Bu, yəqin ki, istədiyiniz davranış deyil.

Www-a yönləndirilir

Ancaq www alt domenindən istifadə edirsinizsə nə etməli?

İnsanların getmək istədikləri yerə getmələrini təmin etmək üçün yəqin ki, yönləndirmə qurmalısınız. Xüsusilə indi daha az adamın URL-lərin əvvəlinə həmin www.

Sadəcə yuxarıdakı kodu tərs etdiniz.

RewriteEngine Yandırın
RewriteCond% ^ example.com [NC]
RewriteRule ^ (. *) Http://www.website.com/$1 [R = 301, NC]

404 səhvləri ana səhifəyə yönləndirməliyəm?

.Htaccess yönləndirmələri ilə bağlı bir neçə təlimat, 404 səhvin ana səhifəyə yönləndirilməsinin necə aparılması barədə təlimatları əhatə edir.

Bu, sadəcə bir şey edə bildiyiniz üçün bir şey etməli olduğunuza dair yaxşı bir nümunədir.

Saytın ana səhifəsinə 404 səhvi yönləndirmək dəhşətli bir fikirdir. Yaxşı bir 404 səhv səhifəsi yerinə bir saytın ön səhifəsini niyə görə bildiklərini anlaya bilməyənləri çaşdırır.

Bütün veb saytlarda istifadəçiyə məzmunun tapılmadığını aydın şəkildə izah edən xüsusi bir 404 səhifəsi olmalıdır və ideal olaraq istifadəçiyə axtardıqlarını tapmaqda kömək etmək üçün bəzi axtarış xüsusiyyətlərini təklif edir..

Alternativlər əvəzinə niyə .htaccess istifadə edin?

İstiqamətləndirməni PHP sənədlərində və ya başqa hər hansı bir server tərəfində yazma qura bilərsiniz. Onları Məzmun İdarəetmə Sisteminizdə də qura bilərsiniz (əsasən eyni şeydir).

Lakin .htaccess istifadə adətən yönləndirmənin ən sürətli növüdür. PHP-yə əsaslanan yönləndirmələr və ya digər server tərəfi skript dilləri ilə bütün istək yerinə yetirilməlidir və yönləndirmə mesajı brauzerə göndərilmədən əvvəl skript həqiqətən təfsir olunur.

.Htaccess yönləndirmələri ilə server yönləndirmə mesajı ilə birbaşa sorğuya cavab verir. Bu daha sürətli.

Buna baxmayaraq, qeyd etməlisiniz – bəzi məzmun idarəetmə sistemləri doğrudan da .htaccess’i proqramlı olaraq yeniləyərək yönləndirmələri idarə edir. Məsələn, WordPress, bu şəkildə işləyən yönləndirmə plaginlərinə malikdir. (Və WP-nin olduqca URL sistemi də bunu edir.)

Bu sizə birbaşa .htaccess-in istifadəsini təmin edir, eyni zamanda tətbiqetmənizdə idarəetmə rahatlığını təmin edir.

.Htaccess Faylınızı Gizlətmək: Təhlükəsizlik mülahizələri

Kiminsə .htaccess faylını vebdən görə bilməsi üçün heç bir səbəb yoxdur.

Üstəlik insanların sizin .htaccess sənədinizi görməsini istəməməyiniz üçün bəzi böyük səbəblər var.

Ən böyük məsələ, bir .htpasswd faylını istifadə edirsinizsə, onun yeri .htaccess sənədində yazıldığıdır. Haradan tapacağını bilmək, tapmağı asanlaşdırır.

Üstəlik, bir qayda olaraq, həyata keçirilməyiniz barədə ictimaiyyətə məlumat vermək istəmirsiniz.

Yenidən yazma qaydaları, qovluq parametrləri, təhlükəsizlik – istifadə etdiyiniz şeylərin hamısı .htaccess – bütün bunların hamısını veb serverinizdə gizlətmək yaxşı bir təhlükəsizlik tətbiqidir. Bir haker sisteminizi nə qədər çox öyrənə bilərsə, güzəştə getmək daha asan olar.

.Htaccess sənədinizi ictimai baxımdan gizlətmək çox asandır. Yalnız aşağıdakı kodu əlavə edin:

sifariş vermək, inkar etmək
hamısından imtina

MIME növlərinin işə salınması

MIME növləri fayl tipləridir. E-poçtla orijinal birləşdiklərinə görə MIME tipləri adlandırılırlar (MIME “Çox məqsədli İnternet poçt uzantıları” deməkdir). Bunlara sadəcə “fayl növləri” deyilmir, çünki MIME fayl tipini müəyyənləşdirmək üçün müəyyən bir format nəzərdə tutur.

Əgər HTML sənədinin müəllifi olmusunuzsa, MIME tipini göstərmisiniz, hətta bilməmisiniz də:

Tip atributu müəyyən bir MIME tipinə aiddir.

Serverinizdə MIME növləri

Bəzən veb serverinizin müəyyən bir fayl növü üçün konfiqurasiya edilmədiyini tapa bilərsiniz. Sadəcə işləmir – fayl üçün sorğular sadəcə uğursuz olur.

Əksər hallarda MIME tipini .htaccess faylınıza əlavə etməklə bu problemi həll edə bilərsiniz.

AddType mətni / richtext rtx

Bu göstərişin hər biri boşluqla ayrılmış üç hissədən ibarətdir:

  • AddType kommeni
  • MIME növü
  • Fayl uzantısı.

Bir neçə fərqli fayl uzantısını eyni MIME tipi ilə əlaqələndirmək istəyirsinizsə, bunu bir sətirdə edə bilərsiniz.

AddType şəkil / jpeg jpeg jpg jpe JPG

Zorla MIME növü ilə yükləyin

Xüsusi fayl tiplərinə aid bütün bağlantıların yüklənmə kimi başlamağını istəyirsinizsə, brauzerdə açılmaq əvəzinə, bunu MIME tipli tətbiq / octet-stream ilə etməlisiniz:

AddType tətbiqi / octet-stream pdf

Yenə bir növ birdən çox fayl uzantılarını təyin edə bilərsiniz:

AddType tətbiqi / octet-stream pdf doc docx rtf

Fayl uzantılarının və MIME növlərinin siyahısı

Buradakı fayl formatlarının və əlaqəli MIME tiplərinin tam siyahısı deyil.

Əgər öz veb saytınızı idarə edirsinizsə və hansı fayl növlərini dərc etdiyinizi bilirsinizsə, bütün siyahını .htaccess faylınıza yapışdırmağa ehtiyac yoxdur..

Bununla birlikdə, bir çox insanın töhfə verdiyi və məzmunu yayımladığı bir saytı işə salsanız, heç kimin pis bir təcrübəsi olmadığına əmin olmaq üçün çox sayda fayl növünə icazə vermək istəyə bilərsiniz..

Xüsusilə insanların çox sayda fayl paylaşa biləcəyi bir sayt, məsələn, bir fayl paylaşma saytı, bir layihə idarəetmə tətbiqi (bir çox faylın tez-tez layihəyə əlavə ediləcəyi yer) və ya idarə edən bir veb tətbiqetməsini işlətdiyiniz bir vəziyyətdir. e-poçt.

AddType tətbiqi / macbinhex-40 hqx
AddType tətbiqi / netalive net
AddType tətbiqi / netalivelink nel
AddType tətbiqi / octet-stream bin exe
AddType tətbiqi / oda
AddType tətbiqi / pdf pdf
AddType tətbiqi / postscript ai eps ps
AddType tətbiqi / rtf rtf
AddType tətbiqi / x-bcpio bcpio
AddType tətbiqi / x-cpio cpio
AddType tətbiqi / x-csh csh
AddType tətbiqi / x-direktoru dcr
AddType tətbiqi / x-direktor dir
AddType tətbiqi / x-direktor dxr
AddType tətbiqi / x-dvi dvi
AddType tətbiqi / x-gtar gtar
AddType tətbiqi / x-hdf hdf
AddType tətbiqi / x-httpd-cgi cgi
AddType tətbiqi / x-lateks lateksi
AddType tətbiqi / x-mif mif
AddType tətbiqi / x-netcdf nc cdf
AddType tətbiqi / x-onlive sds
AddType tətbiqi / x-sh sh
AddType tətbiqi / x-shar shar
AddType tətbiqi / x-sv4cpio sv4cpio
AddType tətbiqi / x-sv4crc sv4crc
AddType tətbiqi / x-tar tar
AddType tətbiqi / x-tcl tcl
AddType tətbiqi / x-tex mətni
AddType tətbiqi / x-texinfo texinfo texi
AddType tətbiqi / x-troff t tr roff
AddType tətbiqi / x-troff-man
AddType tətbiqi / x-troff-me
AddType tətbiqi / x-troff-ms ms
AddType tətbiqi / x-ustar ustar
AddType tətbiqi / x-wais-source src
AddType tətbiqi / poçt indeksi
AddType audio / əsas au snd
AddType audio / x-aiff aif aif aif
AddType audio / x-midi ortası
AddType audio / x-pn-realaudio ram
AddType audio / x-wav wav
AddType şəkil / gif gif GIF
AddType şəkil / ief ief
AddType şəkil / jpeg jpeg jpg jpe JPG
AddType şəkil / tiff tiff tif
AddType şəkli / x-smu-raster ras
AddType şəkil / x-portativ-anymap pnm
AddType şəkil / x-portativ-bitmap pbm
AddType şəkil / x-portativ-boz xəritə pgm
AddType şəkil / x-portativ-pikmap ppm
AddType şəkli / x-rgb rgb
AddType şəkli / x-xbitmap xbm
AddType şəkli / x-xpixmap xpm
AddType şəkli / x-xwindowdump xwd
AddType mətni / html html htm
AddType mətni / düz txt
AddType mətni / richtext rtx
AddType mətni / tab-ayrılmış dəyərlər tsv
AddType mətni / x-server-parsed-html shtml sht
AddType mətni / x-mətn etx
AddType video / mpeg mpeg mpg mpe
AddType video / tez vaxt qt mov
AddType video / x-msvideo avi
AddType video / x-sgi-film filmi
AddType x-dünya / x-vrml wrl

Qaynar bağlama

Hotlinking, məzmunu öz serverinizə yükləmək və özünüzə xidmət etmək əvəzinə digər domenlərin mənbələrinə bağlamaq təcrübəsidir..

Həqiqətən sevdiyiniz bir veb saytında bir şəkil tapdığını söyləyin və saytınızda istifadə etmək istəyirsiniz. Bu anda müəllif hüquqları ilə bağlı problemlərə məhəl qoymursunuz – görüntünü yükləyə, veb saytınıza yükləyə və səhifənizdə normal kimi yerləşdirə bilərsiniz..


Əgər tənbəl idinizsə və ya bant genişliyini qorumağa çalışırsınızsa və ya bir faylın necə yüklənəcəyini bilmirsinizsə, onu birbaşa orijinal sənəd şəklinə sala bilərsiniz.

Bu isti əlaqə. CSS və JS faylları ilə də olur, lakin şəkillər ən çox yayılmışdır.

Bəzi veb saytlar / hostlar bunu etməsəniz heç ağlınıza gəlmir – heç kimdən incimədən Wikipedia-dan şəkilləri əlaqələndirə bilərsiniz. Və bəzi saytlar bu və ya digər formada təşviq edirlər.

Məsələn, JQuery bir JS kitabxanalarını CDN (Məzmun Çatdırılma Şəbəkəsi) ilə təmin edir, buna görə yükləmədən və öz serverinizdən xidmət etmədən birbaşa ona bağlantı edə bilərsiniz..

Lakin bir çox veb aparıcısı isti əlaqəni bant genişliyi və resurs oğurluğu forması hesab edir.

Əmin olmaq üçün, nisbətən kiçik bir sayt çalışırsınızsa, saytınızın həqiqi ziyarətçiləri ilə heç bir əlaqəsi olmayan mənbələr üçün hər gün minlərlə, ya da on minlərlə sorğu almaq imkanınız yoxdur..

İsti bağlantı ilə bağlı bir probleminiz varsa, onu .htaccess faylınıza əlavə edilmiş bəzi mod_rewrite qaydaları ilə aradan qaldıra bilərsiniz..

RewriteEngine aktivdir
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Məsələn.com / .*$ [NC]
RewriteRule. (Gif | jpg | jpeg | png | js | css) $ – [F]

Üçüncü sətirdə example.com-u həqiqi domen adınıza dəyişdirdiyinizə əmin olun. Bu, domeninizdən gəlməyən hər hansı bir sorğu tutacaq və sonra dördüncü sətirdə göstərilən fayl uzantılarından birinə uyğun olub olmadığını yoxlayın. Bir uyğunluq varsa, tələb yerinə yetirilmir.

Digər fayl uzantılarını əlavə etmək istəyirsinizsə, sadəcə son sətri düzəldə bilərsiniz.

Alternativ məzmuna xidmət

Dünyaya onların isti əlaqələrinin niyə qəfildən dayandırıldığını bildirmək istəyirsinizsə, isti əlaqəli şəkilləri xüsusi bir şəkil ilə, “Biz isti əlaqəyə nifrət edirik!” Kimi bir mesajla əvəz edə bilərsiniz. və ya “http://example.com saytında mövcud orijinal məzmun”.

İstəyi yerinə yetirmək əvəzinə, onu sadəcə “xüsusi” görüntüyə yönləndirirsiniz:

RewriteEngine aktivdir
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Məsələn.com / .*$ [NC]
RewriteRule. (Gif | jpg) $ http://www.example.com/no-hotlinking.jpg [R, L]

Həqiqətən insanlarla əlaqə qurmaq istəyirsinizsə, JavaScript və ya CSS fayllarını hotlinker üçün uğursuz təsirlər yarada biləcək xüsusi alternativlərə yönləndirə bilərsiniz. Bununla birlikdə tövsiyə edilmir.

RewriteEngine aktivdir
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Məsələn.com / .*$ [NC]
RewriteRule. (Js) $ http://www.example.com/break-everything.js [R, L]

RewriteEngine aktivdir
RewriteCond%! ^ $
RewriteCond%! ^ Http: // (www.)? Məsələn.com / .*$ [NC]
Yenidən işləmə qaydası. (Css) $ http://www.example.com/super-ugly.css [R, L]

İndeksi deaktiv edin və ya aktivləşdirin

Sənədlər və ya digər qaynaqlar ilə dolu bir qovluğunuz varsa, heç bir index.html faylı və .htaccess sənədində göstərilən standart qovluq səhifəsi yoxdursa nə olacaq??

Çox hallarda nəticə qovluqdakı bütün faylların ümumi bir siyahısı siyahısı olacaqdır.

Düzdür. Əgər hosting qovluğunuzda etiketli / images etiketli bir qovluq varsa və heç bir index.html səhifəsi yoxdursa, kimsə http://yousite.com/images-a gedəndə, bütün şəkillərinizin siyahısını görə biləcəklər. Sayt.

Bu, əksər veb serverlərin standart işidir və veb saytın orijinal konsepsiyası baxımından sadəcə sənədləri saxlamaq və bölüşmək üçün bir yer kimi məna verir. Lakin bu, əksər saytlar üçün arzu olunan davranış deyil.

İndeksləri deaktiv etmək

Bir çox veb hosting hesabı qlobal konfiqurasiyasının bir hissəsi olaraq bunu artıq aradan qaldıracaq. Ancaq hamısı bunu etmir.

Avtomatik yaradılan qovluq siyahılarını deaktiv etmək lazımdırsa, bunu etmək asandır:

Seçimlər -İndekslər

İndeksləri aktivləşdirmək

Veb serveriniz qlobal konfiqurasiyanın bir hissəsi kimi indeksləri əlil etsə, ancaq bunları istəsəniz, yuxarıdakı əmrin tərsi ilə bunları edə bilərsiniz.

Seçimlər + İndekslər

İndeksdən bəzi faylları gizlətmək

Kataloq siyahılarını göstərmək istəyirsinizsə, ancaq müəyyən bir fayl növlərini siyahıdan gizlətmək istəyirsinizsə, bunu da edə bilərsiniz.

İndeksə baxmayın * .gif * .jpg

The * vəhşi kartlı bir xrakterdir. Yuxarıdakı göstəriş .gif və ya .jpg uzantısı olan bütün faylları gizlədir. Daha konkret olmaq istəyirsinizsə, edə bilərsiniz:

İndeks gizli-image.jpg

Hər yerdə CGI’yi aktivləşdirmək

CGI və ya Common Gateway İnterfeysi, HTML olmayan skriptlərin (Perl və ya SSI kimi) veb səhifələrə daxil edilməsi üçün bir server tərəfi metodudur..

Tipik olaraq, CGI skriptləri / cgi-bin etiketli bir qovluqda saxlanılır. Veb server həmin qovluqdakı hər hansı bir mənbəyə səhifə deyil, skript kimi baxmağa konfiqurasiya edilmişdir.

Problem iki qatdır: CGI mənbələrinə istinad edən URL-lərdə / cgi-bin / olmalıdır, bunlar URL-ə daxil olmağın təfərrüatlarını URL-ə salır – bir sıra səbəblərə görə qarşısını almaq lazımdır..

Mürəkkəb veb sayt bir ton skriptin tək / cgi-bin qovluğuna yığılmasından daha yaxşı bir təşkilat quruluşuna ehtiyac ola bilər..

Veb serverinizin CGI skriptlərini qovluq quruluşunda harada olmağından asılı olmayaraq təhlil etməsini istəyirsinizsə, yalnız .htaccess faylınıza aşağıdakıları əlavə edin:

AddHandler cgi-script .cgi
Seçimlər + ExecCGI

CGI skriptləri kimi işləndiyiniz digər fayl uzantılarınız varsa, onları ilk sətirdə əlavə edə bilərsiniz.

Mənbə kodu kimi skriptlər

Çox vaxt skriptləri veb qovluğuna qoyursan, yaxşı ki, onların skript kimi işləməsini istəyirsən.

Ancaq bəzən bu sizin istədiyiniz deyil. Bəzən skript işlətmək əvəzinə mənbə kodunu ümumi qonaqlara göstərmək istəyirsən.

Bir fayl paylaşma xidməti və ya bir kod depoziti saytı işlədirsinizsə və insanların mənbə kodu görmələrini və yükləyə bilmələrini istəsəniz, bu skriptlər saytınızın funksionallığının bir hissəsidir.

Bu .htaccess sənədinizdə müəyyən fayl növləri üçün skript işaretçisini çıxardaraq mətn üçün işleyicisi ilə əvəz etməklə edilə bilər..

Silin Handler cgi-script .pl .cgi .php .py
AddType mətni / düz .pl .cgi .php .py

Alternativ olaraq, əvvəllər qeyd edildiyi kimi, bu ekstensinoları olan faylları nümayiş olunmaq əvəzinə avtomatik yüklənməyə məcbur edə bilərsiniz.

Silin Handler cgi-script .pl .cgi .php .py
AddType tətbiqi / octet-stream .pl .cgi .php .py

Hər iki halda da ehtiyatlı olun. Yalnız bəzi faylların bu şəkildə göstərilməsini istəsəniz, ancaq veb saytınızın qalan hissəsi üçün bu skriptlərdən istifadə edirsinizsə, bu yönləndirməni veb kökünüzün .htaccess faylına qoyduğunuz təqdirdə pis vaxt keçirəcəksiniz..

Daha yaxşı bir təcrübə, bütün bu “yalnız” skriptləri bir qovluğa yerləşdirmək və direktivi həmin qovluqdakı .htaccess faylına yerləşdirmək olardı..

PHP Parametrləri konfiqurasiya olunur

Bəzən PHP parametrlərini çimmək lazımdır. Bunu etmək üçün doğru yol php.ini adlı bir fayldadır.

Təəssüf ki, bütün veb hosting şirkətləri müştərilərinə php.ini faylını düzəltməyə imkan vermirlər. Bu, yalnız bir yüzlərlə veb saytın işlədiyi bir PHP-nin quraşdırılması ola biləcəyi paylaşılan hosting provayderlərinə aiddir.

Xoşbəxtlikdən, bir həll yolu var – php.ini qaydalarını .htaccess sənədinizə əlavə edə bilərsiniz.

Sintaksis belə görünür:

php_value [qəbulu adı] [dəyər]

Beləliklə, məsələn, maksimum fayl yükləmə ölçüsünü artırmaq lazımdırsa (ümumi bir məsələ), bu qədər asandır:

php_value upload_max_filesize 10M

Bütün PHP parametrləri .htaccess fayllarında göstərilə bilməz. Məsələn, bu şəkildə_klassları silə bilməzsiniz.

Bütün php.ini parametrlərinin tam siyahısı üçün rəsmi php.ini direktivləri təlimatına baxın.

PHP-yə daxil olmağın qarşısını necə almaq olar?

PHP-yə icazəsiz daxil olmağın qarşısını almağın bir neçə yolu var.

Birincisi, onları bir qovluğa qoya və .htaccess faylınızı həmin qovluğa daxil olmağı rədd edə bilərsiniz (yəni Apache HTTP Serverindən istifadə edirsinizsə hamısından imtina edin). Kimsə faylı əldə etməyə çalışırsa, alacaqlar HTTP 403 qadağandır cavab.

Alternativ olaraq, bu faylları veb sayt fayllarınızın xidmət olunduğu qovluğundan kənarda saxlaya bilərsiniz. Yəni veb brauzeriniz yerləşdiyi fayllara xidmət edirsə / srv / ev, daxil fayllarınızı altına qoya bilərsiniz / srv / ev / daxildir. Bu, faylları URL-lər vasitəsilə əlçatmaz hala gətirir, baxmayaraq ki, bunları aşağıdakı kimi istifadə edə və istifadə edə bilərsiniz: daxil ‘PATH_TO_YOUR_FILE’

Nəhayət, əldə etmək istədiyiniz fayllar üçün URL sabitliyini təyin edə bilərsiniz:

müəyyənləşdirin (‘WEBSITE_URL’, ‘http://example.com’);

Sonra daxil olmaq istəmədiyiniz sənədlər üçün aşağıdakı yoxlamanı daxil edin:

əgər (! müəyyənləşdirilib (‘WEBSITE_URL’)) {
başlıq ($ _ SERVER ["SERVER_PROTOCOL"] . "403 qadağandır");
çıxış;
}

Fayllarınıza PHP daxil olmağın qarşısını necə almaq olar

Sizin ini sənədlərinizə icazəsiz daxil olmağın qarşısını almağın yolu .htaccess sənədinizi ini sənədlərinə daxil olmaqdan imtina etmək üçün düzəltməkdir (yəni Apache istifadə edərsə hamısından imtina etmək)..

Serverinizin vaxt zonasını necə təyin etmək olar

.Htaccess sənədinizdə göstərərək serverinizin vaxt zonasını təyin edə bilərsiniz. Bunu etmək üçün aşağıdakı sətri əlavə etməlisiniz.

php_value date.timezone ‘Bölgə / Bölgə’

Bölgəni / Bölgəni tercih etdiyiniz vaxt zonası ilə əvəz etdiyinizə əmin olun.

Faylınızı qeyd edin. Dəyişikliklərinizi .htaccess faylı ilə eyni qovluqda olan bir PHP test faylı yaratmaqla sınayabilirsiniz:

<?php phpinfo (); ?>

Faylınızı brauzerinizə yükləyin və göstərişin adını axtarın – Yerli Dəyər sütunu yeni vaxt zonası parametrlərini göstərməlidir.

İstifadə etməyəndə .htaccess

.Htaccess faylınızı ilk dəfə redaktə etməyiniz veb hostinq mühitinizə qəfil güc hissi verə bilər. Birdən bir sysadmin kimi hiss edirsən.

Təəssüf ki, bu güc başınıza gələ bilər və həqiqətən ən yaxşı olmayan yollarla .htaccess faylından istifadə edə bilərsiniz..

.Htaccess növünə bənzəyən bir iş görməyiniz lazım olduqda, göstərişi başqa bir yerə qoymağınız üçün əsasən iki vəziyyət var..

Daha yuxarıda

Mümkün olduqda .htaccess faylına yerləşdirə biləcəyiniz direktivlərin növləri, bütün server üçün bir konfiqurasiya parametrləri faylı olan httpd.conf faylında yer almaq daha yaxşıdır..

Eynilə, PHP parametrləri daha yaxşı php.ini faylına aiddir və əksər dillərdə oxşar konfiqurasiya parametrləri faylları mövcuddur.

Direktivləri daha yuxarı istiqamətə, httpd.conf, php.ini və ya digər dilə aid konfiqurasiya faylı yerləşdirmək həmin parametrlərin veb serverin analiz mühərrikinə “bişmiş” olmasına imkan verir. .Htaccess ilə direktivləri yoxlamaq və hər bir tələb ilə şərh etmək lazımdır.

Yalnız bir ovuc .htaccess direktivləri ilə aşağı trafik saytınız varsa, bu o qədər də böyük bir şey deyildir. Ancaq bir çox trafik və bir çox direktiv varsa, performans geriliyi həqiqətən əlavə edə bilər.

Təəssüf ki, bir çox paylaşılan hosting provayderləri müştərilərin httpd.conf və ya php.ini fayllarına daxil olmalarına imkan vermir, istifadəçiləri daha yavaş .htaccess faylına etibar etməyə məcbur edir..

Xüsusi VPS konfiqurasiyaları ilə müqayisədə ikiqat cərimə təmin edir, çünki ortaq hostinq də ümumiyyətlə aşağı gücə malikdir. Bu, hörmətli trafikə sahib bir saytın, ehtimal ki, ortaq hostinq planı əvəzinə VPS planında olmasının səbəblərindən biridir.

Daha aşağı axın

WordPress və ya Drupal kimi yaxşı bir Məzmun İdarəetmə Sistemini (CMS) istifadə edirsinizsə .htaccess sənədində edə biləcəyiniz bəzi işlər – yönləndirmə URLləri və ya IP adresləri bloklamaq – tətbiqin içərisindən edilə bilər..

Çox vaxt, bu proqram .htaccess faylı ilə birlikdə, proqramla birlikdə direktivləri əlavə edir.

Bu mövcud olduqda .htaccess sənədini özünüz redaktə etmək əvəzinə tətbiqetmədən bu vəzifələri yerinə yetirmək daha yaxşı olar. Yaxşı sınaqdan keçmiş, açıq mənbəli plagin istifadə etsəniz, səhvləri və uyğunsuz direktivləri təqdim etmək şansınız azdır.

Giderme

.Htaccess faylı ilə mesajlaşmaq əla ola bilər – lakin bu da serverinizi ələ keçirməyə və 500 Daxili Server Error mesajlarını çatdırmağa başlaya bilər..

Budur sizə kömək etmək üçün bir neçə fikir.

Bir anda bir şey et

Bu söz demədən getməlidir, amma təəssüf ki, bir çoxumuz təkrar-təkrar öyrənməli olduğumuz bir dərsdir.

Bir şey et. Sonra sınayın. Sonra başqa bir şey et. Test edin.

Hamısını bir anda etsəniz və sonra bir şey uğursuz olsa, problemin hansı direktivə səbəb olduğunu bilmirsiniz.

Hər Fəaliyyətdən əvvəl Faylınızı Yedekleyin

Bir anda yalnız bir şey etməklə yanaşı, çalışdığınız hər şey arasında sənədinizi saxlamalısınız. Saxlanılan arxiviniz bərpa olunmalıdır. Bu, sadəcə geri qaytara biləcəyiniz Microsoft Word deyil – sənədinizin xilas edilmiş bir nüsxəsinə ehtiyacınız var.

Bir şey qarışıqlıq yaratdığınız təqdirdə hər zaman ən son işlək versiyaya sahib olmalısınız. Həmişə, həmişə, həmişə işləyən bir versiyaya bərpa etmək imkanı var.

Əgər git kimi bir mənbəli idarəetmə sistemi varsa bu asandır. Hər dəyişiklikdən sonra törədə bilərsiniz və hər hansı bir problemlə üzləşsəniz geri qayıda bilərsiniz.

Səhv qeydlərini yoxlayın

Bir problemlə üzləşmisinizsə və bunun səbəbini anlamaqda çətinlik çəkirsinizsə, Apache səhv qeydlərinizi yoxlayın. Bunlar tez-tez hara baxmaq barədə dəyərli məlumatlar verir.

Kömək almaq üçün Developer Forumlarından istifadə edin

Developer forumları və Q&StackOverflow kimi saytlar hətta ən təcrübəli və inkişaf etdirənlər üçün də əvəzolunmaz vasitədir. Və Google unutma. Çox vaxt pis veb ustası ilə böyük arasındakı fərq cavabı bilmir, cavabı harada tapacağını bilmir.

Ümumi .htaccess problemləri

Bəzən bir yazma edirdiniz. Bəzən gözlənilməz amillərin qarışıqlığından qaynaqlanan ezoterik və çaşqın bir probleminiz var.

Əksər problemlər və həqiqətən əsəbi olanlar ortada olanlardır – sadəcə bunlar haqqında bildiyiniz təqdirdə həll etmək asan olan sadə, gündəlik problemlər.

Budur, bunlardan bir neçəsi.

Pis Filename

Yazımın yalnız bir yolu var .htaccess – nöqtə ilə başlamalı və bütün kiçik hərflərdə olmalıdır.

Lal görünür, amma .htaccess faylınız gözlədiyinizi etmirsə, ilk yoxlamaq lazımdır.

.htaccess Əlil və ya qismən əlil

Bəzi paylaşılan hosting provayderləri .htaccess’i tamamilə aradan buraxır. Digərləri buna icazə verir, lakin müəyyən direktivlərin istifadəsini məhdudlaşdırırlar – daxil olunduqda nəzərə alınmır.

Eynilə, hətta VPS planlarında və ya öz xüsusi serverlərinizdə də .htaccess əlil ola bilər.

Httpd.conf faylı və ya digər server parametrlərinə girişiniz varsa, bunu özünüz yoxlaya bilərsiniz. AllowOverride Heç bir direktiv taparsan, günahkar tapdın. Hamısını AllowOverride ilə əvəz edin.

Httpd.conf faylınıza girişiniz yoxdursa (məsələn, ortaq hostinqdə olduğunuz üçün), hosting şirkətinizin texniki dəstəyi ilə əlaqə saxlayıb bunun sizin üçün imkan verə biləcəyini və ya təkliflərinizi təqdim etməyiniz lazım ola bilər. fərqli bir şəkildə etməyə çalışdığınız işi yerinə yetirmək üçün borcluyunuz.

Ziddiyyətli və ya yalnış göstərişlər

Birdən çox iç içə qovluq varsa, hər birinin öz .htaccess faylı olması mümkündür. Kökdən olan hər bir .htaccess faylı, hər iç içə qovluq vasitəsilə tətbiq olunur – bunlar kataloq ağacından enərək qaydada oxunur.

Kök qovluğuna bir şey qoyursan və sonra alt qovluqda bir şey onu ləğv etsə, tələb olunan fayla ən yaxın olan .htaccess sənədindəki göstəriş üstün olacaqdır..

Mod yenidən yazmaq fırıldaqçı vərəqəmizə baxın!

.htaccess Tez-tez verilən suallar

  • SEO-da .htaccess faylı nədir?

    .Htaccess faylı yönləndirmə kimi SEO ilə əlaqəli tapşırıqları yerinə yetirmək üçün istifadə edilə bilər. Yönləndirmələr, 404 səhv mesajının qarşısını almaq və axtarış motorları tarayıcılarının hansı səhifələri indeksləşdirmələri lazım olduğunu bildirmək üçün istifadə edilə bilər. Həm də axtarış motorlarınızın sıralamasını artıra biləcək səhifə yükləmə sürətini artırmaq üçün HTTP başlıqlarını təyin edə bilərsiniz.

    Bundan əlavə, ardıcıl izlənən kəsikli siyasət tətbiq etmək üçün .htaccess istifadə edə bilərsiniz. Bu, www və HTTPS qaydaları ilə birlikdə Google tərəfindən cəzalandırıla bilən dublikat məzmununun qarşısını almağa kömək edə bilər.

  • WordPress-də .htaccess faylını necə yaratıram?

    WordPress-də .htaccess faylı yaratmaq üçün bu kodu istifadə edin:

    # WordPress-ə başlayın

    RewriteEngine Yandırın
    RewriteBase /
    RewriteRule ^ indeks \ .php $ – [L]
    RewriteCond% {REQUEST_FILENAME}! -F
    YeniləməCond% {REQUEST_FILENAME}! -D
    RewriteRule. /index.php [L]

    # SON Söz WordPress

    Qeyd edək ki, WordPress quraşdırdığınız zaman .htaccess faylı avtomatik yaradılır. Bununla birlikdə, səhv bir plugin .htaccess faylını poza bilər və nəticədə faylı yenidən yaratmaq ehtiyacı yaranır.

  • Niyə mənim .htaccess sənədimi görə bilmirəm?

    .Htaccess faylınızı görə bilmirsinizsə, mövcud deyil və ya gizlidir. FTP kliyentinizi bu faylları göstərməyə məcbur etmək üçün müştəri parametrlərinizi dəyişdirməlisiniz (yəni FileZilla-da, Server > Gizli sənədləri göstərən qüvvə). Bu dəyişikliyi etmisinizsə və hələ də görmürsünüzsə .htaccess, yenidən yaratmaq lazımdır.

  • Neçə .htaccess sənədlərim olmalıdır?

    Əksər veb saytlarda birdən çox .htaccess faylı lazım deyil. Buna görə .htaccess sənədləri hər bir qovluq əsasında server konfiqurasiya dəyişiklikləri etməyə imkan verir. Bununla birlikdə, çox sayda sayt və ya kompleks tətbiqetməyə sahib olduqda bəzi veb-ustalar inkişaf etmiş funksiyaları yerinə yetirmək üçün bir saytdan birdən çox fayldan istifadə edə bilərlər..

  • CPanel-də .htaccess haradadır?

    .Htaccess faylı görmək üçün cPanel hesabınıza daxil olun. Sonra gedin Fayllar > Fayl idarəedici. Kataloq seçmək istədikdə seçin Veb kökü və əmin olun Gizli faylları göstərin yoxlanılır. İndi .htaccess faylınızı cPanel-də görə bilmək lazımdır.

  • CodeIgniter-də .htaccess faylının istifadəsi nədir?

    .Htaccess faylı CodeIgniter ilə birlikdə istifadə edilə bilər. Varsayılan olaraq CodeIgniter URL-lərinə index.php faylı daxildir. .Htaccess istifadə edərək o standart index.php faylını tətbiqinizin bütün URL-lərində görünməməsi üçün silə bilərsiniz..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map