الأربعاء، 6 فبراير 2013

إضافة موديول في مقال


بسم الله الرحمن الرحيم
وأفضل الصلاة وأتم التسليم على سيدنا محمد المبعوث رحمة للعالمين
السلام عليكم جميعاً
الان سأقدم لكم طريقة وضع موديول module في مقال
نبدأ بعون الله
أولاً_ لنفترض أننا نريد أن نضيف قائمة ضمن مقال
ثانيا_ نذهب لمدير القوائم وننشئ قائمة جديدة وليكن مثلا الاسم الفريد mod-in-artical واسم القائمة قائمة تجريبية واسم الموديول قائمة تجريبية ((حطو يلي بدك ياه بالوصف)) ونضغط حفظ
ثانيا_ نذهب لمدير الموديولات module manger ونقوم بتفعيل القائمة ((تفعيل النشر))
ونقوم باختيار بتغيير الموضع الى 1 ((طبعا اكتب اي شي بمكان الموضع مش شرط رقم بس يعني انا افضل وضع نص قصير))
عند تغيير الموضع يمنع ظهور الموديول في أي position في الواجهة الأمامية للموقع ((لأنه لا يوجد موضع position مطابق للتغيير الذي أحدثناه ,, بمعنى ثاني: كل موديول بحاجة لموضع ليظهر به والمواضع هذه تكون منشأة في الtemplate مسبقا من قبل المصمم ويضع المصمم اسم لكل موضع وعندما نغير اسم الموضع فإنه لا يجد تطابق مع الtemplate فلا يظهر بالواجهة الأمامية ولكن يبقى الموديول مفعّل وهذا الذي نريد عمله في حالتنا هذه))
ثالثا_ نذهب لمدير التطبيقات المساعدة ونبحث عن Content - Load Module ((هذا التطبيق المساعد يأتي مع تطبيقات المساعدة من جوملا! ولا يحتاج لتحميل لإضافته))
نضغط عليه فتظهر لنا الصفحة هي
Attachment:
واجهة التطبيق المساعدContent - Load Module.jpg

في الخيارات على اليسار زي مو شايفين بقائمة نموذج العرض في عنا 5 خيارات
أهم اثنين من النتائج الخمسة دول هما الخيار رقم 4 والخيار رقم 5
في حالة القوائم نختار الخيار رقم 4
ونذهب لمدير المقالات ونكتب في نص المقال
{loadposition1}
زي مو ملاحظين أن إحنا كتبنا اسم الموضع يلي اخترناه للموديول يلي هوا ((1)) 
((طبعا ما تنسوا تحديد القسم والمجموعة))
عشان تشوفوا النتائج بسرعة من غير ما تعملوا للمقال رابط , حددوا خيار إظهار على الصفحة الرئيسية ((في حال تأكدتو من أن الطريقة ناجحة اعملوا الإعدادات المقال زي أي مقال ثاني))
ولنفرض مثلا لو عنا موديول لإضافة فيديو نختار الخيار رقم 5 أو مثلا مع الرايات الإعلانية نختار الخيار رقم 5
سؤال: ليش إحنا اخترنا الخيار رقم 4 للقوائم
الجواب: لما إحنا نعمل قائمة بدنا إياها تظهر بمثل شكل القوائم بتاع الtemplate فنقوم بإضافة ضمن المعلمات المتقدمة للموديول < لاحقة صنف الموديول أمر _menu ((هاد الآمر خاص بالقوالب الافتراضية لموقع جوملا!,, احتمال يتغير من قالب لآخر))
وعندما نختار الخيار رقم 4 في التطبيق المساعد< نموذج العرض فإنه يسمح بإظهار هذه الأوامر لواجهة القالب
فتظهر لنا القائمة على الشكل التالي
Attachment:
القائمة.jpg

وهذا المطلوب
أما لو اخترنا الخيار رقم 5 رح تختفي القائمة ومش رح يظهر معانا شي
يستخدم الخيار رقم5 مع أي موديول إلا موديولات القوائم
الخطوات باختصار هيا:
1- تحديد الهدف من إضافة موديول في مقال ((بمعنى ثاني اعمل دائما مخطط قبل ما تبدأ بالمشروع))
2- إنشاء الموديول المطلوب وإن كان قائمة فأنشئ قائمة من مدير القوائم وستجد موديول القائمة في مدير الموديولات
3- نقوم بتفعيل الموديول ((نشر)) ونقوم بتغيير الموضع لأي اسم ((في حال أردته أن يظهر في الposition أيضاً فاختار من قائمة يلي جنب اسم الموضع المكان المناسب))
4- نذهب لمدير التطبيقات المساعدة وندخل لإعدادات Content - Load Module ونقوم باختيار نموذج العرض المناسب للموديول ((في حالة القائمة , الخيار رقم 4 , في حال أي موديول آخر مثل مستعرض الفيديو أو مستعرض الصور أو إضافات فلاشية الخيار رقم 5 , وطبعا مافي مانع تجرب كل خيار وتشوف تأثيراتها))
5- نعمل مقال جديد ونضع الأمر {loadposition(position name)} (( يعني لو عملنا اسم الموضع للموديول (1) نكتب بدل (position name) الرقم 1 وهكذا))
6- نزبط إعدادات المقال بما يناسب احتياجنا منه ونعمل تطبيق
انتها الشرح وأرجو ان يكون الوضع صار مفهوم عندكم
أهدي الشرح هاد للغالية غفران يلي هيا سبب أني عم أعمل كل المشاركات هي بالمنتدى
وأهديه لأستاذي suneye يلي هوا درّسني جوملا! وكان سبب لمجيئي لمنتدى جوملا! العربي
وكمان هوا السبب يلي يخليني أكتب كلمة جوملا! مع إشارة تعجب ههههه
مع تحياتي للجميع وأرجو لكم التوفيق بهذا المجال المهني الكبير والضخم
((مشاركتي القادمة إن شاء الله رح تكون عن عمل نسخ احتياطي لقاعدة البيانات و بيانات جوملا! من السيرفر وتخزينها على الحاسب , وأيضا عمل نسخة احتياطية لقاعدة البيانات وبيانات جوملا! قبل الرفع , رح تستغرق مني لإنشاء المشاركة حوالي شهر لانشغالي بأمور أخرى , أرجو أن تعذروني , ولكن مشاركاتي القصيرة إن شاء الله مش رح أتوقف عن نشرها))

تعلم إضافة صورة كخلفية لمقال


مرحباً:
يمكنكم زيادة جمال صفحات الموقع ومقالاته، وإعطاء كل واحدة منها رونقها الخاص دون الحاجة إلى استخدام عدة قوالب، وإنما من خلال وضع خلفية تتناسب وموضوع المقال، قد تكون هذه الخلفية صورة أو لون...
والطريقة هي التالية:
- بداية، من البديهي أن تكون قد رفعت الصورة التي تريدها أن تكون خلفية المقال إلى مجلد خاص تنشئه لخلفيات المقالات، أو إلى مجلد الصور الخاص بجملة!
- اذهب إلى مدير المقالات، ومن ثم ادخل إلى المقال الذي تريد أن تضيف له الخلفية. ضمن محرر جملة! اضغط على الزر "Edit HTML Source":
Image


فستجد أنه قد ظهرت لك نافذة منبثقة، تحوي كود المقال بلغة HTML:

Image


ضع في بداية هذا النص تماماً الكود التالي:
من أجل خلفية كصورة:
Code:
<div style="background-image: url('images/stories/key.jpg')">


من أجل خلفية لونية:
Code:
<div style="background-color: #dddddd">




وبالطبع يمكنك تغيير الكودين السابقين ليتناسبا مع احتياجاتك، مع ملاحظة أنك لست بحاجة لإضافة </div> في نهاية نص الـ HTML لأن المحرر سيقوم بذلك عوضاً عنك...


حالما تضيف الكود وتضغط على الزر (Update) في النافذة السابقة ستجد أن الصورة قد ظهرت مباشرة ضمن المحرر ، ولكنها تكون متكررة بحيث تملأ مساحة المقال كاملاً، لاحظ الشكل:
Image



ففي حال كان هذا الأمر يفي بالغرض بالنسبة لك، أي أن تكرار الصورة مناسب لغايتك، فتهانينا! 
أما في حال أردت أن تضع صورة وحيدة، فقم بالتالي:
أضف background-repeat:no-repeat; إلى الكود السابق ليصبح بالشكل:
Code:
<div style="background-image: url('images/stories/key.jpg');background-repeat:no-repeat;">


فعند الحفظ ستجد أن الخلفية أصبحت عبارة عن صورة واحدة، ولكنها ليست في الوسط، فإن كنت تريد توسيطها، أضف background-position:center center; 
ليصبح الكود النهائي بالشكل:

Code:
<div style="background-image: url('images/stories/key.jpg');background-repeat:no-repeat;background-position:center center;">


اضغط (Update) وتحقق من النتيجة...
Image

تحياتي

نقل المقالات وكافة المستخدمين من جملة! 1.5 إلى جملة! 2.5




سنقدم شرح نبين فيه كيفية نقل المقالات وكافة المستخدمين من جملة! 1.5 إلى جملة! 2.5 وأيضا سيتم نقل الأقسام مع المقالات بطريقة بسيطة وسلسلة من خلال ملف ( XML ) وذلك لمن اراد الترقية إلى جملة! 2.5 ومتردد بشأن المشاكل التي قد تنجم عن عملية الترقية إلى جملة! 2.5 لهذا نقدم هذه الطريقة البسيطة لنقل المقالات والمسنخدمين فقط بدون نقل التطبيقات.. فلنتوكل على الله ونبدأ.

خطوات النقل تنقسم إلى قسمين.. القسم الأول خاص بجملة! 1.5 والقسم الثاني خاص بجملة! 2.5.

نبدأ الخطوة الأولى والخاصة بجملة! 1.5 وهي كالتالي:

- العمل على جملة! 1.5:

1. الدخول إلى لوحة الإدارة بجملة! 1.5.

2. تحميل وتثبيت تطبيق J2XML من الرابط التالي J2XML 1.5.3.60 كالتالي:

http://www.eshiol.it/en/component/files ... 030060.zip

Image

3. بعد تثبيت التطبيق كالمعتاد.. نقوم بتفعيل تطبيق مساعد تم تثبيته من خلال التطبيق J2XML الذي قمنا للتو بتثبيته، وذلك بالتوجه إلى قائمة التطبيقات ثم إلى مدير التطبيقات المساعدة.. كالتالي:

Image

4. ثم البحث عن التطبيق المساعد من خلال كتابة j2xml في محرك البحث أو البحث يدوياً.. عن نفسي اختصرت الوقت وقمت بالبحث عبر محرك البحث الخاص بالتطبيقات كما بالصورة التالية:

Image

5. ستحد تطبيقان غير مفعلان ويحملنا نقس الإسم.. قم بتفعيلهما من خلال النقر على العلامة الحمراء المجاورة لهما.. أو بالتاشير على المربعان وأنقر على تفعيل بأعلى يسار القائمة.

6. بعد تثبيت وتفعيل التطبيق المساعد.. نقوم الان بتصدير المقالات أو محتوى جملة! وكذلك المستخدمين إلى ملف XML كالتالي:

- بالنسبة للمحتوى أو المقالات:

7. نذهب إلى المقالات ( كما بالصورة التالية ) ونقوم بالتأشير على المقالات ثم ننقر على تصدير أو Export من أعلى القائمة:

Image

8. سيتم تحميل المحتوى أو المقالات على هيئة ملف XML.. ستجده بعد ذلك في مجلد التحميل أو بأي مكان تحفظ به ملفات التحميل عادة.. وسيكون بالشكل التالي:

Image

9. أيضا نفس الخطوات بالنسبة لنقل المستخدمين.. نذهب إلى مدير المستخدمين ( كما بالصورة التالية ) ونقوم بالتأشير على المقالات ثم ننقر على تصدير أو Export من أعلى القائمة..

Image

10. سيتم تحميل المحتوى أو المقالات على هيئة ملف XML.. ستجده بعد ذلك في مجلد التحميل أو بأي مكان تحفظ به ملفات التحميل عادة.. وسيكون بالشكل التالي:

Image

نبدأ الخطوة الثانية والخاصة بجملة! 2.5 وهي كالتالي:

- العمل على جملة! 2.5:

1. الدخول إلى لوحة الإدارة بجملة! 2.5.

2. تحميل وتثبيت تطبيق J2XML من الرابط التالي J2XML Importer 1.6.0.71 

http://www.eshiol.it/en/component/files ... 000071.zip

3. نقوم بتثبيت التطبيق كالمعتاد.

4. نتوجه إلى التطبيق لنتعرف على خصائصه من خلال قائمة التطبيقات أو الإضافات.. والنقر على J2XML Impoter كالتالي:

Image

5. الان وصلنا للخطوة الأخيرة وهي عملية استيراد الملفان اللذان قمنا بتصديرهما من جملة! 1.5 والمتمثلان في مقالات أو المحتوى إلى جانب المستخدمين.. وصفحة التطبيق ستكون كالتالي:

Image

6. قبل أن نبدأ في عملية استيراد الملفان.. علينا القاء نظرة على خصائص التطبيق واختيار ماتراه مناسبا من عملية الاستيراد وذلك بالنقر على الخيارات بأعلى القائمة ( أنظر الصورة السابقة ) وهي كالتالي:

Image

كما لاحظتم هناك قائمتان وهما ( استيراد Import و متقدم Advanced )

حيث أن ( استيراد Import ) :

1. Articles أو المقالات: اختيار أحد الخياران وهما كالتالي:

--- Yes, if not exists أو نعم، إن لم يكن موجوداً.. أي الموافقة على نقل المقالات في حال عدم وجودها في جملة! 2.5.

--- Yes, overwrite if exists.. أو نعم، وإن كانت موجودا مسبقاً.. أي الموافقة على نقل المقالات حتى وإن كانت موجودة في جملة! 2.5.

2. Images: أو الصور : اختيار أحد الخياران وهما كالتالي:

--- No أو لا: أي عدم نقل الصور.

--- Yes, if not exists أو نعم، إن لم يكن موجوداً.. أي الموافقة على نقل الصور في حال عدم وجودها في جملة! 2.5.

--- Yes, overwrite if exists.. أو نعم، وإن كانت موجودا مسبقاً.. أي الموافقة على نقل الصور حتى وإن كانت موجودة في جملة! 2.5.

3. Categories أو الأقسام: اختيار أحد الخياران وهما كالتالي:

--- No أو لا: أي عدم نقل الأقسام.

--- Yes, if not exists أو نعم، إن لم يكن موجوداً.. أي الموافقة على نقل الأقسام في حال عدم وجودها في جملة! 2.5.

--- Yes, overwrite if exists.. أو نعم، وإن كانت موجودا مسبقاً.. أي الموافقة على نقل الأقسام حتى وإن كانت موجودة في جملة! 2.5.

4. Users أو المستخدمين: اختيار أحد الخياران وهما كالتالي:

--- No أو لا: أي عدم نقل الأقسام.

--- Yes, if not exists أو نعم، إن لم يكن موجوداً.. أي الموافقة على نقل الأقسام في حال عدم وجودها في جملة! 2.5.

--- Yes, overwrite if exists.. أو نعم، وإن كانت موجودا مسبقاً.. أي الموافقة على نقل الأقسام حتى وإن كانت موجودة في جملة! 2.5.

5. Weblinks أو دليل المواقع: اختيار أحد الخياران وهما كالتالي:

--- No أو لا: أي عدم نقل ليل المواقع.

--- Yes, if not exists أو نعم، إن لم يكن موجوداً.. أي الموافقة على نقل ليل المواقع في حال عدم وجودها في جملة! 2.5.

--- Yes, overwrite if exists.. أو نعم، وإن كانت موجودا مسبقاً.. أي الموافقة على نقل ليل المواقع حتى وإن كانت موجودة في جملة! 2.5.

6. Access level أو مستوى الوصول للمستخدمين أو التراخيص.. عليك اختيار أحد الخياران وهما كالتالي:

--- Keep the original access level: أي البقاء على مستوى التراخيص الأولى أو السابقة.

--- Public, if not exists: أي تغيير التصاريح إلى مستوى عام.. في حال عدم وجودها بجملة! 2.5.

--- Public, if not exists.. أي تغيير التصاريح إلى مستوى المستخدمين.. في حال عدم وجودها بجملة! 2.5.

--- Special, if not exists أي تغيير التصاريح إلى مستوى خاص.. في حال عدم وجودها بجملة! 2.5.

7. State.. أي اي نقل حالة المقال من حيث بداية ونهاية النشر وعدد قراءة المستخدمين للمقال

--- Keep the original access level: أي البقاء على حالة المقال السابقة دون تغيير.

--- Published, if not exists.. أي نشر المقالات في حال عدم وجودها.

--- Unpublished, if not exists.. أي عدم نشر المقالات في حال عدم وجودها.

8. Keep author.. البقاء على إسم الكاتب وكذلك وقت وتاريخ تعديل المقال.. أختر نعم أو لا.

9. Keep category.. البقاء على الأقسام.. أختر نعم أو لا.

10. Keep attribs and params.. الحفاظ على السمات والمعلمات.. أختر نعم أو لا.

11. Keep metadata.. الحفاظ على البيانات الوصفية.. أختر نعم أو لا.

12. Keep frontpage.. الابقاء على المقالات في الصفحة الرئيسية كما هي.. أختر نعم أو لا.

13. Keep rating.. الابقاء على التصويت والتصنيف أو الترتيب للمقالات.. أختر نعم أو لا.

وحيث أن ( متقدم Advanced ) :

1. Keep User Ids.. الحفاظ على الرقم الخاص لكل مستخدم ID.. أختر نعم أو لا.

- عملية إستيراد المقالات والمستخدمين:

1. نبدأ الأن في عملية استيراد الملفان من خلال زر التصفح Browse والبحث عن الملفات واستيرادهما كما بالطرق المعتادة.. ثم أنقر على زر الاستيراد Import كما بالصورة التالية.

Image

2. في الصورة التالية وكما حدث معي من خلال تجربتي.. تم نقل المقالات والأقسام بنجاح.. أنظر الصورة التالية:

Image

3. في الصورة التالية وكما حدث معي من خلال تجربتي.. تم نقل المستخدم الوحيد بنجاح.. نلاحظ أنه لم ينقل المدير العام لأنني أخترت لا إذا كان موجود.. أنظر الصورة التالية:

Image

4. وهذه صورة للمقالات بعد نقلها كما هي من جملة! 1.5 إلى جملة! 2.5 :

Image

5. وهذه صورة للأقسام بعد نقلهم من جملة! 1.5 إلى جملة! 2.5 :

Image

6. وهذه صورة للمستخدم بعد نقله من جملة! 1.5 إلى جملة! 2.5 :

Image

لكم تحياتي..

شرح طريقة تغيير مسار مجلد لوحة تحكم الإدارة

السلام عليكم

1- أنشئ مجلد في موقعك سميه مثلا myadmin
2- أشئ ملف إسمه index.php في مجلد myadmin و أكتب فيه الكود التالي

<?php
$admin_cookie_code="1234567890";
setcookie("JoomlaAdminSession",$admin_cookie_code,0,"/");
header("Location: /administrator/index.php");
?>

3- أنشئ ملف htacces. في مجلد administrator و أكتب فيه الكود التالي

{xtypo_code}RewriteEngine On
RewriteCond %{REQUEST_URI} ^/administrator
RewriteCond %{HTTP_COOKIE} !JoomlaAdminSession=1234567890
RewriteRule .* - [L,F]

الآن لا يمكن لأي شخص دخول لوحة تحكم إدارة الموقع و حتى أنت

للدخول للوحة تحكم إدارة الموقع قم بطلب الرابط التالي 
yoursite.com/myadmin
مع ملاحظة تغيير yoursite.com بإسم موقعك

ملاحظة: يمكنك تغيير الرمز السري في الكود و الذي هو في مثالنا 1234567890
كما يمكنك تغيير إسم مجلد myadmin بأي إسم تريده

ملاحظة : الطريقة لا تنجح في المواقع التي تكون الإستضافة فيها لا تدعم ملفات htacces.

شرح أهم أوامر الحماية بملف .htaccess

كيف أنشئ ملف htaccess. جديد ؟
يتم إنشاء ملف htaccess. جديد من خلال أي محرر نصوص .. وليكن مثلا المفكرة notebad .. ومن ثم حفظ الملف بالاسم التالي كاملا :

"htaccess."


مع ملاحظة وجود علامتي التنصيص ..

كيفية عمل صفحات الأخطاء .. custom error messages

بداية لا بد من شرح الأخطاء المحتملة لدخول الزوار إلى صفحات الموقع وهي :
400 - Bad Request .. وتعني طلب خاطئ للصفحة
401 - Authorization Required ... وتعني انه غير مرخص للزائر بعرض الصفحة
403 - Forbidden .. وتعني انه ممنوع للزائر من دخول الصفحة
404 - File not found ... وتعني أن الصفحة التي قام الزائر بطلبها غير موجودة
500 - Internal Server Error وتعني أن هناك خطأ في خادم الموقع
503 - Service Unavailable ... وتعني أن الخدمة غير متوفرة
هذه هي الأخطاء الشائعة وهناك المزيد غيرها ..
ولعمل صفحة الخطأ نكتب في ملف htaccess. الكود التالي :



code:------------------------------------ErrorDocument [error number] [path]--------------------------------------------


ولتفصيل هذا الأمر ..
ErrorDocument .. وهي الدالة الخاصة بصفحة بتعيين صفحة الخطأ .
error number ... رقم الخطأ الذي سيظهر للمتصفح ... كما هو مشروح في الأعلى
path .. مسار الخاص بالصفحة التي ستظهر للزائر عندما يطلب صفحة خطأ .

والأمر بالكامل يكون كالتالي :


code:-------------------------------------ErrorDocument 404 www.youresite.com/404.html
--------------------------------------------



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


code:------------------------------------------------------ErrorDocument 400www.youresite.com/400.html
ErrorDocument 401 www.youresite.com/401.html
etc ...---------------------------------------------


حماية مجلدات وملفات الموقع ...

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

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


code:--------------------------------------Username1:Password1
Username2:Password2
Username3:Password3-------------------------


طبعا هنا تستبدل Username1 باسم المستخدم و Password1 بكلمة المرور الخاصة به .. وإذا أردت مزيدا من الأمن لكلمة المرور فيمكن أن تشفرها بأحد أدوات تشفير DES المستخدمة في أنظمة يونيكس والمتوفرة بكثرة في مواقع النت .. وفي هذه الحالة طبعا ستضع مكان Password1 كلمة المرور المشفرة .. وعند عملية الدخول سيدخل المستخدم كلمة المرور قبل تشفيرها .. وستظهر في الملف بهذا الشكل تقريبا :


kattan:vrAQKeuzMpslh


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


code:-------------------------------------------AuthUserFile /usr/local/you/safedir/.htpasswd
AuthGroupFile /dev/null
AuthName [أدخل اسم المستخدم و كلمة المرور]
AuthType Basic

order allow,deny
allow from all
require valid-user
-------------------------------------


حيث أن /usr/local/you/safedir/.htpasswd هو مسار ملف htaccess. الذي وضعنا فيه أسماء المستخدمين المصرح لهم بالدخول وكلمات المرور الخاصة بهم ..

ويمكن الدخول للمجلد المحمي مباشرة عن طريق وضع الرابط التالي في المتصفح :


code:--------------------------------------------------------------------------------usernameassword@http://www.website.com/d...--...---------------


فقط ضع اسم المستخدم وكلمة المرور وعنوان الموقع والمجلد المحمي ..

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


code:---------------------------------------------files "prog.exe|pass.php|file.zip">
AuthUserFile [/path/to/file]
AuthType Basic
AuthName [Text that prompts the user]
require valid-user-----------------------------


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

توجيه صفحة البداية للموقع أو لمجلد على الموقع

عادة عندما نرفع ملف باسم index.html أو index.php إلى الموقع .. يكون هذا الملف هو الصفحة الرئيسية للموقع ..
الآن هل سألت نفسك لماذا هذه الصفحة ؟؟
للإجابة على سؤالك .. افتح ملف htaccess. الموجود في الموقع .. ستلاحظ فيه كود كالتالي :

DirectoryIndex index.htm index.html index.php

الدالة DirectoryIndex مهمتها التعريف أن أسماء الصفحات التي تلي الدالة هي صفحات البداية للموقع ..
كيف يقرأ ملف htaccess. هذه الدالة :
يبدأ باسم أول صفحة وهي index.htm فإن وجدها على الموقع فسيعتبرها هي ملف الصفحة الرئيسية ..والا سينتقل للاسم الثاني index.html .. وهكذا ..
الآن لنفرض أن صفحة البداية لموقعك اسمها مختلف .. مثلا .. user.htm فهنا ستضع هذا الاسم بعد الدالة DirectoryIndex مباشرا ... وهنا ستكون هذه الصفحة هي صفحة البداية فعلا ..
فالدالة هي :


code:--------------------------------------DirectoryIndex [file]--------------------------------------


ومكان file يكون اسم الصفحة المطلوبة ...

تعريف السرفر المستضيف للموقع بأوامر SSI التي تصممها لموقعك ...

SSI هي اختصار لـ Server Side Includes
وهو بروتوكول خاص بتضمين الكود لجميع الصفحات فإذا أردت مثلا وضع كود معين أو لنفرض هيدر لكل الصفحات فليس من الضروري وضعه في جميع صفحات الموقع وإنما من خلال SSI تضعه في صفحة واحدة ثم تضع شفرة SSI في رأس كل ملف ...
في بعض الأحيان عندما تنشئ صفحة أو برنامج تحتوي على أوامر SSI وترفعها إلى موقعك تجد أن الملف لا يعمل .. والسبب يعود في ذلك إلى عدم تعريف هذا الملف للسرفر ..
كل ما عليك فعله هو تعريف الملف الذي يحتوي على أوامر SSI للسرفر عن طريق ملف htaccess. وذلك بواسطة الكود التالي :



code:---------------------------------AddType text/html [Extension 1] [Extension 2]
AddHandler server-parsed [Extension 1] [Extension 2]-------------------------------------------


حيث أن [Extension 1] و [Extension 2] هي امتداد الملفات التي تريد للسرفر أن يتعرف عليها ليعطيها الصلاحية بتنفيذ أوامر الـ SSI بشكل اتوماتيكي ..

مثال ذلك :


code:-----------------------------------AddType text/html .dhtml .html
AddHandler server-parsed .dhtml .html--------------------------------------------


حيث الملفات التي تعطي أوامر للسرفر باستقبال أوامر الـ SSI هي الملفات التي تنتهي بالامتداد .. dhtml و html

حماية الباندويث في الموقع من الاستهلاك الخارجي

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

الحل أيضا هنا يكون باستخدام أوامر ملف htaccess.
لحجب الصور عن الظهور في موقع غير موقعك استخدم الكود التالي :


code:--------------------------------------------------------------------------------RewriteEngine on
RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^http://site/.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www/.site/.com/.*$ [NC]
RewriteRule .*.([jpg|gif|jpe?g]+)$ - [NC,F]--------------------------------------------------------------------------------


لاحظ أن هذا الكود يحجب كل وصلات الصور الخارجة من موقعك .. ويمنعها من الظهور إلا في موقعك سواء كان :

http://site.com/
أو
http://www.site.com/

فقط عدل الكود السابق وضع مكان site اسم موقعك ..
والدالة الأخيرة في الكود RewriteRule هي لتحديد لاحقات الصور المراد منعها .. ويمكنك الزيادة عليها كما ترغب ..
وأيضا إضافة لاحقات الملفات التي تريد منع تحميلها من موقعك كالملفات المضغوطة zip , rar .. أو اللاحقات التنفيذية .. exe ..
وبذلك لن يتمكن أحد من وضع وصلة في موقعه لبرنامج عندك في الموقع .. وإذا فعل ذلك فلن يعمل معه الرابط .. وعلى الزائر التوجه إلى موقعك والتحميل منه مباشرة ...



توجيه الصفحات القديمة في الموقع ...

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


code:--------------------Redirect /olddirectory/oldfile.html http://yoursite.com/newdirectory/ne...------------


كل ما عليك هو تغير الوصلات في الكود بما يتوافق مع موقعك ...

/olddirectory/oldfile.html تشير إلى الصفحة القديمة
و newdirectory/newfile.html هي العنوان الجديد الذي سيستخدمه زوار الموقع ..


إخفاء محتويات المجلد عن الأعضاء أو نوع معين من الملفات فقط في المجلد ..

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


code:---------------------------IndexIgnore *---------------------

لاحظ أن ( * ) تعني جميع الملفات الضمنة داخل المجلد ..
وقد تمنعهم فقط من عرض ملفات الصور وهنا تضع الكود التالي :
IndexIgnore *.gif *.jpg
ويمكنك إضافة ما تريد من لواحق ملفات الصور والملفات الأخرى كـ zip . rar ..


حجب الموقع عن الزوار من دولة معينة أو جعله لزوار دولة معينة أو حجبه عن IP محدد ..

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

ملف htaccess. يعينك كثيرا في هذا الأمر ... فإذا أردت حجب الموقع عن IP معين .. فقط ضع في ملف htaccess. الموجود في جذر موقعك الكود التالي :


code:-------------------------------deny from 000.000.000.000 -----------

وأما إذا أردت أن تجعله متاحا لـ IP واحد فقط فهنا ستضع الكود المعاكس التالي :

allow from 000.000.000.000

ويمكن إضافة العدد الذي ترغب به من الـ IP التي تريد حجبها .. فقط قم بوضع كل IP بسطر ..مثال

deny from 212.212.212.1
deny from 212.212.212.2
allow from 212.212.212.1
allow from 212.212.212.2

وفي حال تركت الخانة الأخيرة من رقم الـ IP فارغة فأنت هنا تكون قد منعت نطاق كاملا ( دولة في الغالب ) من تصفح موقعك .. مثال :
deny from 000.000.000.
وكذلك تفعل في حال أردت السماح فقط لنطاق معين في تصفح الموقع ..


code:-------------------------------------------allow from 000.000.000.----------------------


وأما إذا أردت منع الجميع من تصفح الموقع .. فاستخدم الكود التالي :

deny from all

تعريف الخادم بلاحقات الملفات باستخدام Mime Types

في بعض الأحيان قد لا تعمل ملفات MP3 أو الفلاش أو PHP على الخادم .. والسبب في ذلك أن تعريف هذه الملفات غير موجود على الخادم .. فإذا كان الخادم لديك يدعم ملفات MP3 أو PHP ولكن لم تعمل عندك .. فهنا أنت بحاجة إلى تعريف الخادم بها بواسطة Mime Types ...
فعند إضافتها يخبر الخادم المتصفح أن هذا الملف هو ملف MP3 أو ملف فلاش .. وبالتالي يكمل المتصفح المهمة ويقوم بقراءته بالشكل المناسب للملف ..
بالنسبة لـ MIME فهي اختصار لـ Multipurpose Internet Mail Extensions
وهو أحد البروتوكولات المتخصصة بنقل البيانات غير النصية ( كالصور وملفات الفيديو و ملفات الفلاش ) عبر الانترنت سواء كان بالمتصفح أو البريد الالكتروني ( وغالبا يكون للبريد الالكتروني ) ...
ولتعريف ملف فلاش مثلا .. فقط اكتب الكود التالي في ملف htaccess.


code:-----------------------------------AddType application/x-shockwave-flash swf ----------------------------------


بافتراض أن shockwave هو اسم الملف ..

ولتعريف ملف midi استخدم الكود التالي :

---------------------------------AddType audio/x-midi mid-------


ولتعريف ملفات ريل بلير استخدم الكود التالي :

AddType audio/x-pn-realaudio .real

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

أخيرا .. هذه أغلب استخدامات ملف htaccess. وقد يكون له استخدامات أخرى غير شائعة كثيرا ..

ملاحظة: العبارة التالية
code:---------------------
تعني ما يقوم به الكود وليس الكود نفسه وتستحدم للدلالة على بداية الكود أيضا في السطر الذي يليه

و العبارة التالية
----------------------
تعني إنتهاء الكود السابق