السلام عليكم ورحمة الله وبركاته
الحمد لله والصلاة والسلام على محمد رسول الله وعلى آله وصحبه ومن والاه
أما بعد :
اليوم إن شاء الله سنقوم بشرح طريقة إستخدامات ملف htaccess
انا لم اجربها بعد ولاكن اظنها سوف تعمل
في حماية موقعك وتحويل الروابط ومنع إستخلال محتوى موقعك في موقع آخر وتحويل الروابط إلى روابط باللغة العربية وطرق عمل كاش إلخ ...
التعريف بملف htaccess هو عبارة عن ملف نضع به أوامر معينة لا تقتصر فقط على حماية روابط الملفات (Hotlinking) بل له وظائف أخرى غير ذالك .
سنقوم بعمل ملف جديد بالنوتباد ونحفظه بالاسم htaccess. (انتبه للنقطة-مهم جدا) وفي داخل هذا الملف نضع الأوامر التي نريدها من بين الأوامر التالية:
أول هذه الأوامر أن تكتب
RewriteEngine 0n
الحماية بواسطة الملف
حماية صور موقعك
لحماية صور موقعك تكتب الكود code التالي
RewriteEngine 0n RewriteC0nd %{HTTP_REFERER} !^$ RewriteC0nd %{HTTP_REFERER} !^http://(www.)?dev-arb.com(/)?.*$ [NC] RewriteRule .(gif|GIF|jpg|JPG)$ dev/banned.gif [L,NC]
في السطر الثالث يتم منع إستخلال الصور الموجودة في إستظافة الموقع خارجه ، يعني في موقع آخر . وأيضا لا تنسى تغيير الدومين
dev-arb.com بالدومين الخاص بك . أي رابط موقعك
وفي السطر الثاني رابط الصورة البديلة : أي عندما يقوم بإستغلال صورة خارج موقعك تستبدل بالصورة baneed.gif
ولا تنسى تغيير رابط الصورة أيضا إلى صورة جديدة
شرح طريقة طريقة الاستعمال:
بداية, ننسخ الكود code ونضعه في ملف ال htaccess الذي تكلمنا عنه قبل قليل. اذا أردت أن تمنع الظهور الخارجي للصور الموجودة في مجلد معيّن فعليك أن تضع ملف ال htaccess داخل ذالك المجلد, بينما لو أردت أن تمنع الظهور الخارجي للصور الموجودة في موقعك كله فعليك أن تضع ملف ال htccess في المجلد الرئيسي لموقعك في ال public_html.
dev-arb.com: تستبدله بدومين موقعك .
gif|GIF|jpg|JPG: امتداد الصور المحمية ويمكنك التعديل.
dev/banned.gif: رابط صورة التنبيه.
يمكنك تصميم صورة التنبيه التي ستظهر في المواقع الخارجية كما تشاء. مفضل ان تكون مقاساتها صغيرة وحجمها صغير أيضا. يمكنك تصميمها بأي شكل تريده, استعمل خيالك الواسع, قد تكون الصورة دعاية لموقعك وقد تكون رسالة توبيخ. هذه الصورة يجب أن تضعها على موقع آخر (لأنه منعنا ظهور أي صورة خارج الموقع وستكون من ضمنها صورة التنبيه أيضا ! ). لكن اذا أردت أن تكون هذه الصورة على موقعك أنصحك أن تقوم بعمل مجلد تسميه مثلا dev وفي داخل هذا المجلد سنضع ملف htaccess وبه الأمر التالي والذي يعني أن جميع الصور والملفات داخل هذا المجلد (ومن ضمنها صورة التنبيه) يمكنها أن تظهر بأي موقع خارجي وهي غير محمية:
حماية الملفات
RewriteEngine 0n RewriteC0nd %{HTTP_REFERER} !^http://(www.)?dev-arb.com/.*$ [NC] RewriteRule .(rar|RAR|ZIP|zip)$
http://www.dev-arb.com [R,L]
في السطر الثاني تكتب رابط موقعك الذي تريد منع تحميل ملفاته
وفي السطر الثالث تضع رابط الصفحة التي تريد التوجه إليه عندما يطلب ملف من خارج موقعك
شرح طريقة طريقة الاستعمال:
كما شرح طريقةت لكم سابقاً, ننسخ الكود code ونضعه في ملف ال htaccess بحيث اذا أردت أن تمنع تحميل الملفات المحمية الموجودة في مجلد معيّن فعليك أن تضع ملف ال htaccess داخل ذالك المجلد, بينما لو أردت أن تمنع تحميل جميع الملفات المحمية الموجودة في موقعك فعليك أن تضع ملف ال htccess في المجلد الرئيسي لموقعك في ال public_html.
dev-arb.com: استبدله بدومين موقعك
rar|RAR|ZIP|zip: الملفات التي تريد حمايتها ويمكن التعديل عليها.
http://www.dev-arb.com: رابط التحويل عند محاولة تحميل ملف محمي.
هذا الأمر مفيد بالذات للملفات الكبيرة والتي تستهلك باندويث كبير, تخيّل لو كان الملف مطلوب وانتشر الرابط بالمواقع, عندها سيتم استهلاك موارد كثيرة قد لا يتحملها السيرفر SERVER الموجود عليه موقعك. عند استعمالك هذا الكود code لن يتم تحميل الملف من خارج موقعك وسوف يكون التحميل فقط من خلال موقعك. تريد تحميل الملف ؟ تفضل بزيارة الموقع ولا تسحب الملف من مكان اخر.
مواقع صديقة
بواسطة هذا الكود code نقوم بعمل قائمة للمواقع الصديقة التي نسمح لها بعرض ملفاتنا عندهم.
RewriteC0nd %{HTTP_REFERER} !^http://www.friendlysite1.com.*$ [NC] RewriteC0nd %{HTTP_REFERER} !^http://friendlysite1.com.*$ [NC] RewriteC0nd %{HTTP_REFERER} !^http://www.friendlysite2.com.*$ [NC] RewriteC0nd %{HTTP_REFERER} !^http://friendlysite2.com.*$ [NC]
شرح طريقة طريقة الاستعمال:
ضع الكود code في ملف ال htaccess وحدّد من خلاله ما هي المواقع الصديقة.
friendlysite1.com: موقع صديق.
friendlysite2.com: موقع صديق آخر.
هذا الكود code مفيد عندما تريد ان يكون بينك وبين موقع اخر تعاون معيّن مثلا مع موقع اسلامي أو مع موقع FeedBurner أو أي موقع آخر ترغب به.
مواقع غير صديقة
بواسطة هذا الكود code نقوم بعمل قائمة للمواقع الغير مرغوب بها والتي لن نسمح لها بعرض ملفاتنا عندهم.
RewriteEngine 0n RewriteC0nd %{HTTP_REFERER} ^
http://www.badsite1.com/ [OR] RewriteC0nd %{HTTP_REFERER} ^
http://badsite1.com/ [OR] RewriteC0nd %{HTTP_REFERER} ^
http://www.badsite2.com/ [OR] RewriteC0nd %{HTTP_REFERER} ^
http://badsite2.com/ RewriteRule .(gif|GIF|jpg|JPG|rar|RAR)$
http://www.dev-arb.com [R,L]
شرح طريقة طريقة الاستعمال:
ضع الكود code في ملف ال htaccess في المجلد الرئيسي لموقعك وحدّد من خلاله المواقع الغير مرغوب بها.
badsite1.com: موقع غير مرغوب به
badsite2.com: موقع اخر غير مرغوب به
gif|GIF|jpg|JPG|rar|RAR: الملفات المحمية ويمكنك التعديل عليها.
www.dev-arb.com: رابط التحويل عند محاولة تحميل ملف من موقع غير مرغوب به.
هذا الكود code مفيد للتخلص من المواقع التي تستخدم صورك وملفاتك بكثرة ويسببون ضغط على سيرفر SERVER موقعك واستهلاك كبير للباندويث
إظافة www أو إزالتها من الموقع
مجموعة من أصحاب المواقع يريدون تشغيل مواقعهم على دومين فقط
منهم من يفضل الدومين أن يكون
www.sitename.com
ومنهم من يفضل الدومين أن يكون
sitename.com
فمثلا تجد الدومين
www.sitename.com
له أرشفة indexation قوية جدا مقارنة بالدومين الآخر sitename.com
ويريد الموقع أن يشتغل بالدومين الأول فقط وإذا دخل أحد الزوار بالدومين الثاني يتحول للدومين الأول
الفكرة سهلة جدا جدا
لتشغيل الدومين ب www
أضف التالي للملف htaccess
RewriteEngine 0n RewriteBase / RewriteC0nd %{HTTP_HOST} !^www.sitename.com$ [NC] RewriteRule ^(.*)$ http://www.sitename.com/$1 [L,R=301]
وعند الدخول بدون www سيتم تحويلك ل
www.sitename.com
ومن يفضل أن يشتغل موقعه بدون www
يضع الكود code التالي
RewriteBase / RewriteC0nd %{HTTP_HOST} !^sitename.com$ [NC] RewriteRule ^(.*)$ http://sitename.com/$1 [L,R=301]
عمل كاش لموقعك
يستخدم لحفظ اي صيغه , بمعنى اي واحد يدخل موقعك يدخل مره ثانية يفتح موقعك سريع
يعني يتم تحميل صيغ ملفات موقعك كل الملفات ماعدا الملفات التي بصيغة php
مرة واحد وعند الطلب مرة أخرى تكون الملفات قد تم تحميلها من قبل وتخزينها في جهازك ويتم جلبها من الجهاز
إلإ إذا عملت تحديث update الصفحة بضغظك على F5 في لوحة المفاتيح
لعمل ذلك أكتب الكود code التالي داخل الملف htaccess
Header unset ETag FileETag N0ne <FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$& quot;> Header unset Last-Modified Header set Expires "Fri, 21 Dec 2014 00:00:00 GMT" Header set Cache-C0ntrol "public, no-transform" </FilesMatch>
FilesMatch امامه الصيغ الي تريد عمل الكاش لها
Header set Expires تاريخ انتهاء الكاش كاتبها بالتاريخ واختصرها
"Fri, 21 Dec 2014 00:00:00 GMT" الجمعه ديسمبر 2014 التاريخ 000 بتوقيت جرنتش
<FilesMatch "\.(js|css)$"> هذه اعتقد حفض ملف style sheets + jquery
أو يمكنك عمل الكود code التالي وهو الذي أستخدم في موقعي هذا
<IfModule mod_expires.c> ExpiresActive 0n ExpiresByType image/gif "access 1 week" ExpiresByType image/jpg "access 1 week" ExpiresByType image/jpeg "access 1 week" ExpiresByType image/png "access 1 week" ExpiresByType text/css "access 1 week" ExpiresByType text/js "access 1 week" ExpiresByType applicati0n/x-shockwave-flash "access 1 week" ExpiresByType applicati0n/x---SS-- "access 1 week" ExpiresByType js/js "access 1 week" </IfModule>
في بداية الأسطر تضع الصيغ التي تريد عمل كاش لها
وفي نهاية كل سطر تلاحظ
aceess 1 week
يعني بعد أسبوع يتم حذف الكاش وإنشاء كاش جديد
أيضا يمكنك عمل الكود code التالي
<ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css applicati0n/x---SS-- applicati0n/--SS-- </ifmodule>
هذا الكود code ليس لعمل كاش
ولكن
يزيد من سرعة الموقع حيث يقلل مساحة الهيد للمتصفح
حماية ملفات موقعك
لحماية مجلد من رؤية ملفاتها أكتب التالي في ملف htaccess
deny from all
يعني إذا دخلت للمجلد أو الملف مباشرة لن يتم عرضه وسيطبع لك المتصفح الملف المطلوب غير متوفر
لحماية مجلداتنا بال htaccess و بالكلمة السرية
سنحتاج الى ملفين أحدهما بصيغة .htaccess و الآخر بصيغة hapasswd
أولا يجب أن تعرف أن الملف htaccess سيكون في المجلد الذي تريد حمايته
مثلا مجلد الأدمن
ننشئ ملفنا و نكتب فيه التالي
AuthUserFile AuthName "التعريف مطلوب" AuthType Basic Require valid-user
و في
AuthUserFile
يجب أن يكون المسار الكامل لملف htppasswd
مثلا عندي أنا المسار الكامل لملف الباس هو
C:\AppServ\www\allsports\admin\pass.htpasswd
غير المسار بأي مسار تريد
و النتيجة ستكون
في الأخير
AuthUserFile C:\AppServ\www\allsports\image\pass.htpasswd AuthName "التعريف مطلوب" AuthType Basic Require valid-user
و ملفنا pass.htpasswd
نكتب فيه التالي
user

ass
أي هكذا
aze:aze
و يمكنك أن تختار أكثر من مستخدم مثال
qsd:qsd aze:aze
يعني
qsd و aze هي إسم المستخدم
ونلتقى بإذن الله في الجزء الثاني من دروس ملف htaccess
أي مشكل ضعوه في التعليق على المقال
مع تحيات أخوكم في الله يوسف شهيري
مبرمج الموقع
والسلام عليكم ورحمة الله تعالى وبركاته