السلام عليكم ورحمة الله وبركاته

الحمد لله والصلاة والسلام على محمد رسول الله وعلى آله وصحبه ومن والاه

أما بعد :

اليوم إن شاء الله سنقوم بشرح طريقة إستخدامات ملف 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 &quot;(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$& quot;> Header unset Last-Modified Header set Expires &quot;Fri, 21 Dec 2014 00:00:00 GMT&quot; Header set Cache-C0ntrol &quot;public, no-transform&quot; </FilesMatch>

FilesMatch امامه الصيغ الي تريد عمل الكاش لها



Header set Expires تاريخ انتهاء الكاش كاتبها بالتاريخ واختصرها

&quot;Fri, 21 Dec 2014 00:00:00 GMT&quot; الجمعه ديسمبر 2014 التاريخ 000 بتوقيت جرنتش

<FilesMatch &quot;\.(js|css)$&quot;> هذه اعتقد حفض ملف style sheets + jquery



أو يمكنك عمل الكود code التالي وهو الذي أستخدم في موقعي هذا


<IfModule mod_expires.c> ExpiresActive 0n ExpiresByType image/gif &quot;access 1 week&quot; ExpiresByType image/jpg &quot;access 1 week&quot; ExpiresByType image/jpeg &quot;access 1 week&quot; ExpiresByType image/png &quot;access 1 week&quot; ExpiresByType text/css &quot;access 1 week&quot; ExpiresByType text/js &quot;access 1 week&quot; ExpiresByType applicati0n/x-shockwave-flash &quot;access 1 week&quot; ExpiresByType applicati0n/x---SS-- &quot;access 1 week&quot; ExpiresByType js/js &quot;access 1 week&quot; </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 &quot;التعريف مطلوب&quot; AuthType Basic Require valid-user





و في





AuthUserFile









يجب أن يكون المسار الكامل لملف htppasswd

مثلا عندي أنا المسار الكامل لملف الباس هو




C:\AppServ\www\allsports\admin\pass.htpasswd

غير المسار بأي مسار تريد



و النتيجة ستكون

في الأخير




AuthUserFile C:\AppServ\www\allsports\image\pass.htpasswd AuthName &quot;التعريف مطلوب&quot; AuthType Basic Require valid-user



و ملفنا pass.htpasswd

نكتب فيه التالي


userass

أي هكذا
aze:aze



و يمكنك أن تختار أكثر من مستخدم مثال
qsd:qsd aze:aze



يعني

qsd و aze هي إسم المستخدم





ونلتقى بإذن الله في الجزء الثاني من دروس ملف htaccess

أي مشكل ضعوه في التعليق على المقال

مع تحيات أخوكم في الله يوسف شهيري

مبرمج الموقع

والسلام عليكم ورحمة الله تعالى وبركاته








©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©