المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : [شرح] كيفيه صنع ملفات .htaccess



ناصر مهدى
2006/8/22, 10:59 PM
دليلك الى ملفات .htaccess
بسم الله

ملفات .htaccess هى عبارة عن ملفات تستخدم من قبل انظمة التشغيل Unix/Linux التى تسمح لك بالتحكم فى الصلاحيات الممنوحة للملفات و بعض الخصائص الاخرى الهامة

كيف تكتب ملف .htaccess

افتح اى محرر نصوص لديك قم بكتابة الاوامر-كما سنتعرف عليها فيما بعد- كل امر فى سطر مستقل احفظ الملف بالاسم .htaccess .

ملاحظات هامة :
- عندما تقوم بوضع ملف .htaccess فى الدليل الرئيسى للموقع root فانه سيؤثر ايضا على جميع المجلدات الفرعية فى موقعك , فى حين ان وضع ملف htaccess . فى احد المجلدات الفرعية سيمتد تأثيره فقط الى الملفات الموجودة بداخله
- عندما تقوم برفع ملفhtaccess تأكد من انك تستخدم ASCII ,و ليس binary
- ملفات htaccess لا تظهر فى برامج ال FTP عادة و تحتاج الى تعديل فى الخصائص لكى تظهرها

لكى تمنع الاخرين من مشاهدة محتويات ملف .htaccess قم بوضع الكود التالى بداخله


<Files .htaccess>
order allow,deny
deny from all
</Files>


صفحات الخطأ

صفحات الخطأ هى : تلك الصفحات التى تظهر عند حدوث خطأ ما مثل طلب صفحة غير موجودة أو الدخول الى منطقة غير مسموح بدخولها ........
انواعها
400 الطلب الخاطىء أو Bad request
401 ليس لديك صلاحية أو Authorization Required
403 ممنوع أو Forbidden
404 صفحة غير موجودة أو Wrong page
500 خطأ فى السيرفر المحلى او Internal Server Error

بداية قم بتصميم صفحات الخطأ بالمحتوى الذى تريده
ادرج الكود التالى فى ملف .htaccess مع تغيير المسميات و المسارات بما يناسبك



Error******** 400 http://www.yourdomain.com/errordocs/400.html
Error******** 401 http://www.yourdomain.com/errordocs/401.html
Error******** 403 http://www.yourdomain.com/errordocs/403.html
Error******** 404 http://www.yourdomain.com/errordocs/404.html
Error******** 500 http://www.yourdomain.com/errordocs/500.html



منع اى بى
فى بعض الاحيان نحتاج الى منع شخص معين من الدخول الى الموقع عن طريق رقم الآى بى الخاص به , للقيام بذلك قم بفتح ملف .htaccess أو قم بانشاؤه اذا لم يكن موجود
و بفضرض أن رقن الآى بى المراد منعه هو 000.000.000.000
اكتب

للمنع.
deny from 000.000.000.000

للسماح..
allow from 000.000.000.000

لمنع الكل ..
deny from all


حماية بعض المجلدات بكلمة مرور
لحماية بعض المجلدات الهامة فى موقعك و منع الوصول اليها بغير معرفة اسم المستخدم و كلمة المرور .
هذه الخاصية تتطلب نوعين من الملفات :
الاول .htaccess : و يكون داخل المجلد المراد حمايته
الثانى .htpasswd : و يمكن أن يكون فى اى مجلد على السيرفر

ما ستقوم بكتابته فى ملف .htaccess


AuthName "Area Name"
AuthType Basic
AuthUserFile /full/path/to/.htpasswd
Require valid-user

لاحظ تحديد المسار الى ملف .htpasswd من هنا AuthUserFile /full/path/to/.htpasswd

ملف .htpasswd سنقوم بكتابة الكود التالى بداخله

username: password
الاسم و كلمة المرور فقط

و لكن هناك مشكلة ملفات .htpasswd قد تكون عرضة لمشاهدة ما بداخلها لذلك سنقوم بتشفير كلمة المرو . و للقيام بذلك توجه الى الصفحة التالية
http://www.euronet.nl/~arnow/htpasswd

قم بادخال الاسم الذى تريده و كلمة المرور ثم اضغط موافق و انسخ الكود الذى سيظهر لك و ضعه فى ملف .htpasswd بهذه الطريقة ستكون البيانات مشفرة



كيف نقوم بمنع عرض محتوى المجلد الذى لا يحتوى على ملف index
كل ما عليك هو وضع الكود التالى :


IndexIgnore *

مع ملاحظة أن * تعنى منع عرض جميع الملفات و يمكن استبدالها بامتداد معين مثل :

IndexIgnore *.gif *.jpg


الهوت لنك Hotlink
من اهم و افضل الخصائص التى تقدمها ملفات .htaccess هى خاصية الهوت لنك , و هذه الخاصية تمكنك من حماية ملفات موقعك من الوصول اليها من خارج الموقع الا عن طريق روابط تحددها انت فعلى سبيل المثال انا لدى صوره على هذا الرابط http://moshax.com/images/imag.jpg .. عند وضع رابط لهذه الصورة دتخل موقعى http://moshax.com سوف تظهر بدون مشاكل اما اذا قام شخص اخر بوضع رابط للصورة داخل موقعه فلن تظهر الصورة لديه مع انها موجودة على السيرفر و هذا ما نسميه Hotlink و هو ليس لملفات الصور فقط و انما لجميع انواع الملفات التى تحددها , و بامكانك ايضا التعامل مع هذه الخاصية بسهولة اكثر من خلاللا لوحة التحكم Cpanel

الكود الذى تقوم بوضعه فى ملف .htaccess لتفعيل الهوت لنك


RewriteEngine on RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]

لاحظ :
http://(www\.)?mydomain.com : عنوان موقعك
.(gif|jpg) انواع الملفات المراد حمايتها

للسماح لبعض المواقع بتخطى الهوت لنك :


RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(www\.)?othersite\.net/ [NC,OR
RewriteCond %{HTTP_REFERER} ^http://(www\.)?othersite\.com/ [NC
RewriteRule \.(jpe?g|gif|bmp|png)$ images/nohotlink.jpg [L]



حيث http://(www\.)?othersite\.net و http://(www\.)?othersite\.com هى المواقع التى نسمح لها بتخطى الهوت لنك


اعادة التوجيه : Redirection

عند قيام الزائر بطلب صفة معينة سيتم توجيهه الى صفحة اخرى سواء داخل الموقع أو خارجه
الكود:


Redirect /olddirectory/oldfile.html http://site.com/newdirectory/newfile.html

مع تغيير اللازم


تغيير الصفحة الافتراضية
عند التوجه الى اى موقع مثلا www.domain.com سيتم التوجه بشكل تلقائى الى الملف www.domain.com/index.html.
ماذا لو اردنا تغيير هذا الامر

اضف هذا السطر فى ملف .htaccess

DirectoryIndex filename.html

و قم بتغيير filename.html الى اسم الملف الذى تريده


اخيرا نسأل الله لكم التوفيق

منقول

الجارح
2006/8/23, 12:39 AM
الف شكر اخى الغالى
على العمل الجميل جدا
اخوك
الجارح

TheSpeeD
2006/8/23, 2:00 AM
http://www.w6w.net/users2/02-11-2005/w6w_200511020034583784791c53452.gif


اشكرك اخى الغالى على ماتيت لنا به من طرح جميل مفيد ورائع

وننتظر كل جديد منك وابدعنا اكثر واكثر

العمــــــــــــــــــــــــــــــــــــدة


http://www.w6w.net/users2/28-09-2005/w6w_2005092821451437847ee8171de.gif

ناصر مهدى
2006/8/28, 9:41 PM
http://img406.imageshack.us/img406/8348/75pt.gif

BaKer
2006/8/29, 10:16 PM
مـشــكــور أخـــى الحـبـيـب


http://www.w6w.net/users2/07-12-2005/w6w_200512072130365187546093577.gif


عـلـى كــل ما تقــدمــة لنــا مـن مـواضـيــع جــيــدة ومفـيــدة

فـى منتــدانا الحبيــب

http://www.w6w.net/users2/07-12-2005/w6w_200512072130365187546093577.gif

Mostafa Megahed
2006/9/6, 3:32 PM
الف الف شكر اخى الغالى

ادامك الله لنا

على الموضوع الجامد ده

ناصر مهدى
2006/9/24, 10:53 PM
شكــرا لك أخى الغالى مصطفى مجاهد:confused: