Jump to content
IT-პროგრამირების ფორუმი

Recommended Posts


.htaccess არის Apache სერვერის httpd.conf ფაილის ზოგიერთი კონფიგურაციის უგულეველყოფისა და მის ადგილზე თქვენი პარამეტრის განხორციელების საშუალება.
Apache - ს კონფიგურაცია ინახება ფაილში, რომელსაც ჰქვია httpd.conf . თუ იყენებთ საზიარო სერვერს (მაგ.: caucasus.net, myweb.ge, site.ge და ა.შ.), თქვენ არ გექნებათ httpd.conf ფაილთან წვდომის საშუალება და პარამეტრების შეცვლა. სწორედ ამ პარამეტრებს შეგაცვლევიდებთ .htacess
თუ თქვენ ბოროტი ადამიანი ხართ და ფიქრობთ რომ .htaccess-ის საშუალებით გააფუჭებთ სერვერს (მუჰაჰაჰაჰა), არაფერი გამოგივათ, რადგან ეს ფაილი მოქმედებს მხოლოდ იმ საქაღალდეებზე და ქვე-საქაღალდეებზე, რომელშიც .htaccess ინახება, ასე რომ... biggrin.gif
თუ .htaccess არ გაქვთ, შექმენით ფაილი htaccess.txt და სერვერზე ატვირთვის შემდეგ დაარქვით .htaccess. რეკომენდებულია ამ ფაილის ჰოსტის Control Panel-დან ატვირთვა, რადგან ზოგი FTP კლიენტი არ აჩვენებს ამ ფაილს.
შენიშვნა: ზოგი ბრძანება არ მოქმედებს მოძველებულ სერვერებზე, მაგ.: caucasus.net -ზე, ამიტომ ჯობია ეს ოპერაციები ლოკალურ სერვერზე ჩაატაროთ. ახლა კი დავიწყოთ!
გვერდის გადამისამართება
ეს ძალიან ადვილად კეთდება:
CODE
Redirect www.თქვენისაიტი.ge scripts.ge
Redirect აღნიშნავს გადამისამართებას, www.თქვენისაიტი.ge - თქვენის საიტის მისამართს, www.scripts.ge.ge კი - იმ საიტს, სადაც უნდა გადამისამართდეს.
თქვენი Error გვერდები
ეს ბრძანებებიც ადვილია. არსებობს მრავალი სახის შეცდომა (error), მაგრამ ძირითადია 5:
400 - ცუდი Request
401 - საჭიროა ავტორიზაცია
403 - აკრძალულია
404 - ასეთი გვერდი არ არსებობს
500 - სერვერის შიდა შეცდომა
თქვენი შეცდომების გვერდების დასაყენებლად .htaccess ფაილში უნდა ჩაწეროთ:
CODE
ErrorDocument 400 http://www.თქვენისაიტი.ge/400.html
ErrorDocument 401 http://www.თქვენისაიტი.ge/401.html
ErrorDocument 403 http://www.თქვენისაიტი.ge/403.html
ErrorDocument 404 http://www.თქვენისაიტი.ge/404.html
ErrorDocument 500 http://www.თქვენისაიტი.ge/500.html
ErrorDocument აღნიშნავს, რომ ეს არის შეცდომის გვერდი, ციფრი (მაგ.: 404) - შეცდომის კოდს, შემდეგ კი მითითებულია გვერდის მისამართი, რომელიც ამ შეცდომის დროს უნდა გამოჩნდეს.
IP-ს დაბლოკვა
შეხედეთ ამ კოდს:
CODE
order allow,deny
deny from 123.45.6.7
deny from 012.34.5.
allow from all
პირველი ხაზი გვატყობინებს, რომ საქმე გვაქვს დაბლოკვასთან ან ნებართვასთან, მეორეში დაბლოკილია ერთი IP მისამართი ( 123.45.6.), მესამეში 012.34.5-ით დაწყებული ყველა IP ( 012.34.5.1, 012.34.5.2, 012.34.5.3...), მეოთხე ხაზი კი ნებას რთავს ყველა დანარჩენ IP-ს იხილოს საიტი.
თქვენ ასევე შეგიძლიათ დაბლოკოთ ყველა IP, გარდა ერთისა:
CODE
order allow,deny
allow from 123.45.6.7
deny from al
თქვენი Default ინდექს გვერდის შეცვლა
როგორც წესი, სერვერების უმეტესობაზე პირველ რიგში იხსნება index ფაილი (მაგ.: index.php, index.html და ა.შ.). ამის შეცვლა .htaccess-ის საშუალებით ადვილად შეიძლება:
CODE
DirectoryIndex faili.html faili.htm faili.php
ანუ ჯერ წერთ DirectoryIndex-ს, მერე კი ადგილების გამოტოვებით იმ ფაილების სახელებს, რომლებიც გახდება Default.
ფაილების გაფართოებების გარეგნულად შეცვლა
ეს ძალიან სახალისოა:
CODE
RewriteEngine On
RewriteRule ^(.*).lol$ $1.php
ამ კოდის .htaccess-ში ჩაწერის შემდეგ, თქვენს სერვერზე ყველა .lol ფაილის გამოძახებისას მიიღებთ .php ფაილს. მაგალითად, თუ აკრეფთ www.თქვენისაიტი.ge/index.lol , გაიხნება www.თქვენისაიტი.ge/index.php
ფაილების სიის ჩვენების აკრძალვა
თუ საქაღალდეში არ არის index ფაილი, მაშინ იქ შესული ადამიანი ხედავს ყველა ფაილს, რაც იმ საქაღალდეშია. ამის აცილება ასე შეიძლება:
CODE
Options -Indexes
ამ კოდის ჩაწერის შემდეგ, ფაილების სია კი აღარ გამოვა, არამედ შეცდომა 403.
მეტიც, თქვენ შეგიძლიათ ზოგი გაფართოების ფაილი დამალვა, დანარჩენების კი გამოჩენა:
CODE
Options +Indexes
IndexIgnore *.php *.png
პირველ ხაზზე მითითებულია, რომ გამოჩნდეს ფაილების სია, მეორეზე კი - გამონაკლისები. ამ შემთხვევაში გამოჩნდება ყველა ფაილი, გარდა .php და .png გაფართოებების მქონეებისა.
hotlinking-ის დაბლოკვა
ზოგი საიტი იყენებს სხვა საიტების ფაილებს, მაგალითად სურათებს. ამის შეჩერება ასე შეიძლება:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$

RewriteRule .(png|js|css)$ - [F]
მთავარი ამ კოდში არის ბოლო ორი ხაზი. მესამე ხაზზე მითითებულია თქვენი საიტის მისამართი, მეოთხეზე კი - hotlinking-ისთვის აკრძალული ფაილების გაფართოებები, რომლების გამოყოფილია "|" სიმბლოთი.
მეტიც თქვენ შეგიძლიათ ასეთი რამე გააკეთოთ:
CODE
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$

RewriteRule .(gif|jpg)$ [R,L]

Share this post


Link to post
Share on other sites

ToQcHista, რა სორსი  ჩემი ახალგაზროდობაში დაწერილი სტატია მოიარე ნახევარი ქართული-ვებ სივრცე ამან :D 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×