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

مشاهدة النسخة كاملة : حصريا و فقط في هذآ الموضوع حسن و سرع من أداء موقعك | مع الدليل



romaissa
10-31-2013, بتوقيت غرينيتش 04:56 AM
http://www.dzbatna.com/images/icons/icon26.gif ط*طµط±ظٹط§ ظˆ ظپظ‚ط· ظپظٹ ظ‡ط°ط¢ ط§ظ„ظ…ظˆط¶ظˆط¹ ط*ط³ظ† ظˆ ط³ط±ط¹ ظ…ظ† ط£ط¯ط§ط، ظ…ظˆظ‚ط¹ظƒ | ظ…ط¹ ط§ظ„ط¯ظ„ظٹظ„ (http://www.dzbatna.com/t1945810/)



http://img299.imageshack.us/img299/7889/bsmlh12.png

الحمد لله الذي أنزل القرآن و رفع به الإنسان ..
و جعله نورا للقلوب و الأبدان ..
و كرم أهله بالفوز بالدنيا و يوم يحشر الثقلان ..
و بشر حامليه و حفظته بالمغفرة و الرضوان ..
و الفلاح و الفوز بالجنان ..
ثم الصلاة و السلام على النبي الهادي العدنان ..
محمد ابن عبد الله و آله و صحبه و من سار على نهجه بإحسان ..
اليوم تخفق مشاعرنا بالبشر و الأنس ..
اليوم مجد و عز موصول بالأمس ..

http://img214.imageshack.us/img214/8872/92316786.png

كــيف حآلكم جميعآ أعضاء و زوار هذآ المنتدى forum الموقر؟ عسى لكم أن تكونوآ بألف خير و عافية
و دوآم الصحة ..
كثير منآ أصحآب المنتديات و المواقع رغب بأن يصل إلى أقصى سرعة لموقعه أو منتداه .. و
لكن النتيجة لم تكن بالمستوى المرغب فيه ..
و في هذآ الموضوع أحبآئي في الله سنتعلم و إياكم طرق لتسريع مواقعنا إلى أقصى السرعات
تصل إلى 70 في المئة أفضل من السابق .. إنهآ لنسبة مذهلة, أليس كذلك؟
السر يكمن في ملف .htaccess و مع توآلي الفقرآت سأشرح طريقة لكم كل شيء بالتفصيل الممل.

أولا: htaccess: الأداء و وقت التحميل ..

الهتكس htaccess هو ملف تكوين و إعداد الملقم الخاص بك أو ما يسمى بالسيرفر SERVER أو
الخادم, و هو يمكن أن يقدم لنا خدمة كبيرة لأداء موآقعنا و كذآ ما يخص الأرشفة indexation الطبيعية
للموقع, و لكن هو غامض قليلا فيما يخص كيفية تكوينه.

http://img215.imageshack.us/img215/6587/htaccess450x339.jpg

ثآنيآ: مقدمة:

1. جرب! ثم جرب ثم جرب!

كل رمز معين في ملف الهتكس htaccess يمكننا من تسريع الموقع و تأمين الحد من عرض
النطاق الترددي المستخدم أو ما يسمى بالباندويث و تقليص الحجم المستهلك.
لكن كل هذآ إعتمادا على تكوين الخادم أو السيرفر SERVER الخاص بك, فقد لا تعمل رموز, و كل ما
عليك فعله هو إختيار و تعديل كل رمز ليلائم الإحتياجات الخاصة بك!
و بالتآلي في كل مرة تضيف فيها شيء للملف جرب إن كان الموقع الخاص بك يعمل أو
لا.

ثآلثآ: تعآريف موجزة:

لفهم جيد لهآ الموضوع, بمنتديات بوابة المتمردين, هنا بعض التوضيحات. فلآ تتردد بوضع
تعليقآت و ردود لي إن كنت مخطئآ.

1. هتكس - htaccess: هو ملف تكوين لملقم الويب أباش Apache. إذآ كتا لا تعرف نوع
الملقم الذي تشتغل به, إسئل المستضيف. و جدير بالذكر أن الرموز أو ما يسمى بالأكواد تطبق
في الدلائل التي توضع فيها.و مآ أقصد بكلآمي هو أنه إن وضعنا الرموز التي سأضعها في هذآ
الموضوع في مسآر مجلد المنتدى forum [vb] فإن نتآج الكود code سيطبق فقط على ذآلك المسآر .. و لن
يطبق على الرئيسية!

2. نمط الضغط Gzip: هذه الصغية تستعمل لتقليل حجم الملف و بالتالي سرعة موقعك.

3. الخآدم أو الملقم أباشي Apache: هو منسق خادم HTTP الأكثر شعبية في العالم, و فيه
نجد معظم الإيجابيآت و كذآ عروض الإستضآفة للجمهور العام.

4. نظآم الذآكرة أو ما يسمى بالكاش Cache: ذآكرة التخزين المؤقت لموقع على الشبكة
العنكبوتية أو لأي تطيبق يمكن الوصول إلى البيانات إلى صفحات جاهزة مسبقآ, دون الحاجة إلى
تحديث update أو إعادة حساب. إذآ ما كانت صفحات موقعك توضع مؤقتا في الخادم او الملقم, سيتمكن
زوار موقعك من الوصول إلى صفحات موقعك بشكل أسرع.

5. الرؤوس و الإستعلامات Headers & Requests: فهي المعلومات المتبادلة بين الخادم و
جهاز الحاسوب, و تستخدم هذه المعلومات للحصول على المعلومآت: موقع الملف, تاريخ
التحديث update, التكوين أو ما يسمى بالإعدادات و غيرها من المعلومات ..

6. CHMOD: شمود يمكن من تغيير صلاحيات التعديل على الملف, مثل القرآءة و الكتآبة و
التنفيذ في شكل 3 أرقام مثلآ 777 أو 644. و كل رقم يعطي صلاحيات محددة للمستخدم,
للمالك, للمجموعة و للعامة. و هذه نقطة لغجرآء دراسة تفصيلة لتأمين الموقع.

رآبعآ: الضغط

1. نمط الضغط Gzip عبر Deflate:

أول نقطة يجب القيام بها هي تفعيل نمط الضغط Gzip للملفات الناتجة من الخادم الخاص بك.

هذآ سوف يسرع من وقت تحميل صفحات موقعك و تقليل إستخدام النطآق الترددي أو ما يسمى
بالباندويث BandWith, و لكن يجب أن تكون حذرآ, فنمط الضغط هذآ لا تدعمه جميع
المتصفحات بما فيها نيت سكايب NetScape. و سيعمل فقط على الخوادم التي إصدآرها أحدث
من الإصدآر 2 فمآ فوق. إذن إختبر موقعك على عدة متصفحات بعد إدخال الرمز أسفله.
أنسخ الكود code أسفله ،، و آذهب إلى مجلد المنتدى forum إن أردت تطبيق هذآ عليه ،، و آفتح ملف
هتكس htaccess و قم بلصق هذآ الرمز:

رمز Code:
# MOD_DEFLATE COMPRESSION BEGIN BY WWW.R-GATE.NET SetOutputFilter DEFLATE AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php #هذآ الرمز يصلح للمتصفحات الغير داعمة للخاصية BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html #الرمز لعدم وضع الملفات في نظام الذآكرة أو الكاش غن كانت كذلك SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip #الوكلآء أو البروكسيات التي يجب أن تعطي محتوي جيد Header append Vary User-Agent env=!dont-vary # MOD_DEFLATE COMPRESSION END BY WWW.R-GATE.NET

و كشرح طريقة سريع لدور هذآ الرمز, فهو يعمل على ضغط الملفات هتمل HTML و سي إس إس
CSS و جافاسكريبت script JavaScript.

2. نمط الضغط Gzip نحو Mod_Gzip:

الرمز الآتي أسفله يستبدل السابق, و لكن يعمل فقط على الخوادم التي إصدآرها هو 1 و التي لا
تدعم mod_deflate [ هذآ ما فهمته ]

رمز Code:
# MOD_GZIP COMPRESSION BEGIN BY WWW.R-GATE.NET RewriteEngine on # gzip فحص إن كان المتصفح يقبل الملفات ReWriteCond %{HTTP:accept-encoding} gzip RewriteCond %{HTTP_USER_AGENT} !Safari #التأكد من عدم وجود الإمتداد .gz في الرابط ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$ # فحص إن كان إصدآر الإمتداد .gz للملف موجود RewriteCond %{REQUEST_FILENAME}.gz -f #جميع الظروف محققة إذن, أضف .gz لـ url بنمط الإخفآء RewriteRule ^(.+) $1.gz [QSA,L] <IfModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_keep_workfiles No mod_gzip_can_negotiate Yes mod_gzip_add_header_count Yes mod_gzip_send_vary Yes mod_gzip_command_version '/mod_gzip_status' mod_gzip_min_http 1000 mod_gzip_minimum_file_size 300 mod_gzip_maximum_file_size 512000 mod_gzip_maximum_inmem_size 60000 mod_gzip_handle_methods GET POST mod_gzip_temp_dir /tmp mod_gzip_item_include file \.html$ mod_gzip_item_include file \.php$ mod_gzip_item_include file \.pl$ mod_gzip_item_include file \.rb$ mod_gzip_item_include file \.py$ mod_gzip_item_include file \.cgi$ mod_gzip_item_include file \.css$ mod_gzip_item_include file \.js$ mod_gzip_item_include mime ^application/javascript$ mod_gzip_item_include mime ^application/x-javascript$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^httpd/unix-directory$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include handler ^server-status$ mod_gzip_item_include handler ^server-info$ mod_gzip_item_include handler ^application/x-httpd-php mod_gzip_item_exclude mime ^image/.* </IfModule> # MOD_GZIP COMPRESSION END BY WWW.R-GATE.NET

.3 فحص موقعك و أدائه:

كمطوير موآقع و تطبيقآت ستكون لنا درآية بالاداتين الرهيبتين للفايرفوكس Yslow
و FireBug و يمكننا الإعتماد عليهمآ لفحص اداء موقعنا .. و إليكم اداتين أخريين:
GIDZip Test و What's my IP Compression Test

خآمسآ: الكآش أو الذآكرة و الرؤوس - Cache And Headers

إنتهآء مدة صلاحية الرأس هو أحد الأصول. فهم يستخدم للإشارة إلى أنوآع معينة من الملفات
التي يمكن ان تبقى مؤقتآ في متصفح الزآئر لفترة من الزمن من دون الحآجة لان يقوم المتصفح
بتقديم طلبآت التحقق من صلاحية ذآكرة التخزين المؤقت. و لذلك سوف يخفض عدد الطلبات
للحصول على موقعك و بالتلي وصول أسرع لمحتوى موقعك.
و إليك الرمز الذي يقوم بتلك المهمة .. طبعآ ضعه في ملف htaccess ..

رمز Code:
# BEGIN Expire headers BY WWW.R-GATE.NET <IfModule mod_expires.c> ExpiresActive On ExpiresDefault &quot;access plus 7200 seconds&quot; ExpiresByType image/jpg &quot;access plus 2592000 seconds&quot; ExpiresByType image/jpeg &quot;access plus 2592000 seconds&quot; ExpiresByType image/png &quot;access plus 2592000 seconds&quot; ExpiresByType image/gif &quot;access plus 2592000 seconds&quot; AddType image/x-icon .ico ExpiresByType image/ico &quot;access plus 2592000 seconds&quot; ExpiresByType image/icon &quot;access plus 2592000 seconds&quot; ExpiresByType image/x-icon &quot;access plus 2592000 seconds&quot; ExpiresByType text/css &quot;access plus 2592000 seconds&quot; ExpiresByType text/javascript &quot;access plus 2592000 seconds&quot; ExpiresByType text/html &quot;access plus 7200 seconds&quot; ExpiresByType application/xhtml+xml &quot;access plus 7200 seconds&quot; ExpiresByType application/javascript A259200 ExpiresByType application/x-javascript &quot;access plus 2592000 seconds&quot; ExpiresByType application/x-shockwave-flash &quot;access plus 2592000 seconds&quot; </IfModule> # END Expire headers BY WWW.R-GATE.NET

ملآحظة: و جدير بالذكر إن كانت الادوات تثبيت setup أن إنتهاء الرؤوس لا يتم تطبيقها على جميع
ملفات تطبيقك. مثلا على سبيل المثال لا يتم تطبيقها على نظآم إعلانات جوجل GOOGLE أدسنس. و لا
شيء عندك لفعله http://www.dzbatna.com/images/smilies/icon1366.gif http://www.dzbatna.com/images/smilies/nosweat.gif ..

سآدسآ: مرآقبة التخزين المؤقت - Cache Control

مرآقب التخزين المؤقت هو تكمله لآنتهآء الرؤوس, إعتمادا على الملقم أو الخادم الذي تستخدمه
أو المتصفح المستعمل من طرف زوار موقعك. مرة أخرى سوف نحدد فترة التخزين المؤقت لكل
ملف على حدة.

رمز Code:
# BEGIN Cache-Control Headers BY WWW.R-GATE.NET <IfModule mod_headers.c> <FilesMatch &quot;\\.(ico|jpe?g|png|gif|swf|css|gz)$&quot;> Header set Cache-Control &quot;max-age=2592000, public&quot; </FilesMatch> <FilesMatch &quot;\\.(js)$&quot;> Header set Cache-Control &quot;max-age=2592000, private&quot; </FilesMatch> <filesMatch &quot;\\.(html|htm)$&quot;> Header set Cache-Control &quot;max-age=7200, public&quot; </filesMatch> # تعطيل التخزين المؤقت للسكريببيتات و الملفات الديناميكية <FilesMatch &quot;\.(pl|php|cgi|spl|scgi|fcgi)$&quot;> Header unset Cache-Control </FilesMatch> </IfModule> # END Cache-Control Headers BY WWW.R-GATE.NET

الملفات الحيوية أو الديناميكية ليست مؤقتة, في حين أن البآقي مؤقت لفترة طويلة. الفرق بين
التخزين العام Cache Control Public و الخآة في الوكلآء Private, الكلمة Public
تدل ‘لى التخزين المؤقت للجميع, خآصة و أن الكلمة خاص Private تشير إلى الوكلاء أو ما
يسمى بالبروكسيات Proxies الغير مسموح لها لذآكرة التخزين المؤقت.

سآبعآ: Etag And Htaccess

هذآ الرمز يسمح لنا بتعطيل الـكلمآت eTags و بالتالي الحدة من زيادة عدد الطلبات أو ما يسمى
بالإنجليزي Request و على النطآق الترددي المستخدم أو ما يسمى بالبنادويث. eTag يمكننا
من تمييز إصدآريت من الملف أو المستند. هذآ eTag ينقل الطلبآت Request بين جهاز
الحاسوب و الخادم الخاص بك من خلال طلبآت HTTP. الغرض منه هو التحقق مما إذى ما تم
تغيير المستند, إذآ ما كانت الملفات متطابقة فسيكون إستخدآم المتصفح له مخبأ و لكن في كل
طلب سيتم نقل المعلومات eTag بدون دآع لها, و خآصة غن كانت لديك إعداد مسبق كما هو
موضح في بقية ملف htaccess.

رمز Code:
# KILL THEM ETAGS BY WWW.R-GATE.NET Header unset ETag FileETag none

و الآن, سيتم مسح eTag مرة واحدة و للأبد

ثآمنآ: الحماية - Security

1. حماية ملف htaccess - secure htaccess file




سوف نضمن الآن الوصول للملف htaccess من خلال هذآ الرمز:

رمز Code:
# protect the htaccess file BY WWW.R-GATE.NET <files .htaccess> order allow,deny deny from all </files>

إغتنم أيضآ فرصة منح الصلاحيآت 644 أو CHMOD 644 للملف htaccess الخاص بك
للتأمين لحد أقصى .

2. حمآية قرآءة المسآرات

من أجل تفادي قدرة الزآئر على تصفح و عرض محتويات المجلدآت إستخدم هذآ الرمز:

رمز Code:
# حمآية ضد تصفح المجلدات Options -Indexes

و هذآ هو الكود code كآملا:

رمز Code:
# MOD_DEFLATE COMPRESSION BEGIN BY WWW.R-GATE.NET SetOutputFilter DEFLATE AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php #هذآ الرمز يصلح للمتصفحات الغير داعمة للخاصية BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html #الرمز لعدم وضع الملفات في نظام الذآكرة أو الكاش غن كانت كذلك SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip #الوكلآء أو البروكسيات التي يجب أن تعطي محتوي جيد Header append Vary User-Agent env=!dont-vary # MOD_DEFLATE COMPRESSION END BY WWW.R-GATE.NET # MOD_GZIP COMPRESSION BEGIN BY WWW.R-GATE.NET RewriteEngine on # gzip فحص إن كان المتصفح يقبل الملفات ReWriteCond %{HTTP:accept-encoding} gzip RewriteCond %{HTTP_USER_AGENT} !Safari #التأكد من عدم وجود الإمتداد .gz في الرابط ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$ # فحص إن كان إصدآر الإمتداد .gz للملف موجود RewriteCond %{REQUEST_FILENAME}.gz -f #جميع الظروف محققة إذن, أضف .gz لـ url بنمط الإخفآء RewriteRule ^(.+) $1.gz [QSA,L] <IfModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_keep_workfiles No mod_gzip_can_negotiate Yes mod_gzip_add_header_count Yes mod_gzip_send_vary Yes mod_gzip_command_version '/mod_gzip_status' mod_gzip_min_http 1000 mod_gzip_minimum_file_size 300 mod_gzip_maximum_file_size 512000 mod_gzip_maximum_inmem_size 60000 mod_gzip_handle_methods GET POST mod_gzip_temp_dir /tmp mod_gzip_item_include file \.html$ mod_gzip_item_include file \.php$ mod_gzip_item_include file \.pl$ mod_gzip_item_include file \.rb$ mod_gzip_item_include file \.py$ mod_gzip_item_include file \.cgi$ mod_gzip_item_include file \.css$ mod_gzip_item_include file \.js$ mod_gzip_item_include mime ^application/javascript$ mod_gzip_item_include mime ^application/x-javascript$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^httpd/unix-directory$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include handler ^server-status$ mod_gzip_item_include handler ^server-info$ mod_gzip_item_include handler ^application/x-httpd-php mod_gzip_item_exclude mime ^image/.* </IfModule> # MOD_GZIP COMPRESSION END BY WWW.R-GATE.NET # BEGIN Expire headers BY WWW.R-GATE.NET <IfModule mod_expires.c> ExpiresActive On ExpiresDefault &quot;access plus 7200 seconds&quot; ExpiresByType image/jpg &quot;access plus 2592000 seconds&quot; ExpiresByType image/jpeg &quot;access plus 2592000 seconds&quot; ExpiresByType image/png &quot;access plus 2592000 seconds&quot; ExpiresByType image/gif &quot;access plus 2592000 seconds&quot; AddType image/x-icon .ico ExpiresByType image/ico &quot;access plus 2592000 seconds&quot; ExpiresByType image/icon &quot;access plus 2592000 seconds&quot; ExpiresByType image/x-icon &quot;access plus 2592000 seconds&quot; ExpiresByType text/css &quot;access plus 2592000 seconds&quot; ExpiresByType text/javascript &quot;access plus 2592000 seconds&quot; ExpiresByType text/html &quot;access plus 7200 seconds&quot; ExpiresByType application/xhtml+xml &quot;access plus 7200 seconds&quot; ExpiresByType application/javascript A259200 ExpiresByType application/x-javascript &quot;access plus 2592000 seconds&quot; ExpiresByType application/x-shockwave-flash &quot;access plus 2592000 seconds&quot; </IfModule> # END Expire headers BY WWW.R-GATE.NET # BEGIN Cache-Control Headers BY WWW.R-GATE.NET <IfModule mod_headers.c> <FilesMatch &quot;\\.(ico|jpe?g|png|gif|swf|css|gz)$&quot;> Header set Cache-Control &quot;max-age=2592000, public&quot; </FilesMatch> <FilesMatch &quot;\\.(js)$&quot;> Header set Cache-Control &quot;max-age=2592000, private&quot; </FilesMatch> <filesMatch &quot;\\.(html|htm)$&quot;> Header set Cache-Control &quot;max-age=7200, public&quot; </filesMatch> # تعطيل التخزين المؤقت للسكريببيتات و الملفات الديناميكية <FilesMatch &quot;\.(pl|php|cgi|spl|scgi|fcgi)$&quot;> Header unset Cache-Control </FilesMatch> </IfModule> # END Cache-Control Headers BY WWW.R-GATE.NET # KILL THEM ETAGS BY WWW.R-GATE.NET Header unset ETag FileETag none # protect the htaccess file BY WWW.R-GATE.NET <files .htaccess> order allow,deny deny from all </files> # حمآية ضد تصفح المجلدات Options -Indexes

الآن إليكم الدليل إعتمآدآ على فحص منتديات بوابة المتمردين بعد تطبيق الأكوآد:

http://img823.imageshack.us/img823/852/snap2014091110h00m48s00.png

http://img844.imageshack.us/img844/6731/snap2014091110h01m32s00.png

http://img801.imageshack.us/img801/1528/snap201409.png

و إلى هنآ أصل إلى نهآية هذآ الموضوع .. آملا من العلي القدير ان اكون قد أفدتكم
و سيكون لي في القريب العاجل شرح طريقة لأداة أخرى إن شاء الله ..


http://img214.imageshack.us/img214/8872/92316786.png

و أتمنى من الله سبحانه و تعالى أنه قد و فقني في طرح الموضوع ..
و أخيرا
و ليس آخرا اشكر لكم حسن مروركم و جعلنا الله ممن يستمعون القول و يتبعون احسنه و الله
ولي التوفيق ..

http://img214.imageshack.us/img214/8872/92316786.png









ألعاب الأندرويد مجانا و حصريا (http://www.apotox.info/forum)



https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى