صفحة 1 من 9 123456 ... الأخيرةالأخيرة
النتائج 1 إلى 15 من 133

الموضوع: mod_rewrite باسهل الطرق !

  1. #1
    عضو نشيط
    تاريخ التسجيل
    May 2002
    المشاركات
    177

    mod_rewrite باسهل الطرق !



    بسم الله الرحمن الرحيم
    عندما نقوم ببناء تطبيقات على الانترنت باستخدام اي لغة من لغات البرمجة فاننا نعمد في الغالب الى استخدام طرق لنقل المتغيرات من مكان الى اخر لنقوم باستخراج النتائج او التحقق منها وهذه الطرق في الغالب تعمد على GET او POST .
    ليس لدينا مشكلة في استخدام POST لانها تكون مبينه على رابط سابق او معلومات سابقة حصلنا عليها من صفحة سابقة او ادخال مباشر من المستخدم ولانعتمد عليها في الروابط الخارجيه للاستدالال لصفحة معينة .
    اذا نصل مما سبق ان النتيجة النهائية في الروبط هي الطريقه GET

    مثال لهذه الطريقة هو هذا الرابط :
    كود:
    http://www.example.com/news.php?action=view&id=1
    الطريقه هنا هي GET
    اي ان المتغيرات ظاهرة في الرابط
    مشكلتنا هنا ان محركات البحث لا تلتفت كثيراً لمثل هذه الروابط بل تهتم بالروابط المباشرة
    مثل

    كود:
    http://www.example.com/news.php
    http://www.example.com/news.html
    كيف نحل المشكلة
    خاصية mod_rewrite تقدم لنا الحل
    كيف نبدء في استخدامها

    اسهل الطرق لتعملها هي بالامثلة :
    ليكن لدينا المثال التالي
    كود:
    http://www.example.com/news.php?action=view&id=1
    نريد تحويله الى رابط مباشر ووقع اخيتاري على هذا الرابط
    كود:
    http://www.example.com/view/1.html

    الرابط الجديد مكون من
    كود:
    ()/().html
    ولكي يعمل نضيف عليه .*
    كود:
    (.*)/(.*).html
    بمعني مرر اي شيء او لاشيء
    نفصل اللاحقة html كي لايعطينا خطاً 500
    كود:
    (.*)/(.*)\.html
    ثم نخبرة من اين يبدء ومن اين ينتهي
    كود:
    ^(.*)/(.*)\.html$
    ثم نخبره من اين يتلقى المتغيرات
    كود:
    ^(.*)/(.*)\.html$ news.php?action=$1&id=$2
    الان نقوم بكتابة الكود كاملاً ونحفظة في ملف
    كود:
    .htaccess
    كود:
    #SWITCH mod_rewrite ON
    Options +FollowSymLinks
    RewriteEngine on
    #OUR ABOVE CODE
    RewriteRule ^(.*)/(.*)\.html$ news.php?action=$1&id=$2
    هكذا نكون جاهزين فقط نقوم برفعه الى المجلد الاب للموقع ونستخدمه وسوف يعمل

    لكن هناك زيادة لمن يرغب في الزيادة
    لو نظرنا الى متغير الخبر نجد انه ارقام اذن يمكنا تحديد نوعية المتغير بالارقام فقط ولن يقبل الاحرف
    كود:
    #SWITCH REWRITE ON
    Options +FollowSymLinks
    RewriteEngine on
    #PUT OUR ABOVE CODE
    RewriteRule ^(.*)/([0-9]+)\.html$ news.php?action=$1&id=$2
    ايضاً لو نظرنا الى متغير action
    نجد انه حروف صغيرة ولا يأتي ارقام اذن نغلعه على الحروف الصغيرة فقط
    كود:
    #SWITCH REWRITE ON
    Options +FollowSymLinks
    RewriteEngine on
    #PUT OUR ABOVE CODE
    RewriteRule ^([a-z]+)/([0-9]+)\.html$ news.php?action=$1&id=$2
    بعد رفع الملف كما اشرنا قبل نقوم بتغيير الروابط في برنامجنا حسب الوضع الجديد

    وهناك المزيد لمن رغب في المزيد عن هذه الخاصية الجملية

    اتمنى ان يكون الشرح واضحاً


    اخوكم





    __________________
    Regards
    Garbawi
    gharbawi غير متواجد حالياً


  2. #2
    مـراقـب
    تاريخ التسجيل
    Apr 2001
    المشاركات
    4,264


    تسلم على الشرح ويثبت الموضوع





    __________________
    لاَ اِلَهَ اِلاَّ اَنْتَ سُبْحَانَكَ اِنِّي كُنْتُ مِنَ الظَّالِمِينَ
    Fuga غير متواجد حالياً

  3. #3
    عضو فعال جدا
    تاريخ التسجيل
    Feb 2003
    المشاركات
    2,047


    شكرا لك اخgharbawi

    تصدق كنت راح ابدأ في كتابة درس عن الmod_rewrite
    لكن سبقتني جزاك الله خير





    __________________
    -{Only God Can Judge Me}-
    القانون فوق الجميع و الجميع يموت بالجوع
    Dr-dre67 غير متواجد حالياً

  4. #4
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,915


    شكرا جزيلا .
    ولكن أخي الكريم .
    اتوقع انه لمن المستحيل ان تقوم بملاحقة كل العناوين بموقعك وخاصة لو كان الموقع ديناميكيا .
    اي هو يقوم بانشاء سجلات جديدة .
    كالمنتدى مثلا .


    ارجو لطفا التوضيح ...
    وكيف يمكنني ان اشمل كل صفحات الموقع ؟





    beshoo غير متواجد حالياً

  5. #5
    عبدالعزيز الزرعوني
    تاريخ التسجيل
    Feb 2004
    المشاركات
    3,128


    اقتباس المشاركة الأصلية كتبت بواسطة beshoo
    شكرا جزيلا .
    ولكن أخي الكريم .
    اتوقع انه لمن المستحيل ان تقوم بملاحقة كل العناوين بموقعك وخاصة لو كان الموقع ديناميكيا .
    اي هو يقوم بانشاء سجلات جديدة .
    كالمنتدى مثلا .


    ارجو لطفا التوضيح ...
    وكيف يمكنني ان اشمل كل صفحات الموقع ؟
    نفس السؤال





    __________________
    مدونة المبدع العربي
    المبدع العربي غير متواجد حالياً

  6. #6
    عضو نشيط
    تاريخ التسجيل
    May 2002
    المشاركات
    177


    Fuga شكراً على مرورك والتثبت
    Dr-dre67 جزاك الله خير ولو كنت اعلم لصبرت قليلاً

    اما اخونا beshoo
    على العكس اخي الكريم كل ما تحتاجة هو تعديل وضعية الرابط في برنامجك وخذ مثال لتوضيح الفكرة ليس الا
    كود PHP:
    <?
    $link
    ="<a href='index.php?action=view&id=$id'>$title</a>";
    ?>
    سوف نعدله هكذا

    كود PHP:
    <?
    $link
    ="<a href='view/$id.html'>$title</a>";
    ?>






    __________________
    Regards
    Garbawi
    gharbawi غير متواجد حالياً

  7. #7
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    شكرا لجلب الانتباه لهذا الموضوع الهام النادر بيننا نحن العرب
    بارك الله فيك وجعله في ميزان حسناتك ..
    واسمح لي أن أقترح عليك أن تسهب أكثر في الشرح (كما قلت أنت) لأن من لا يعرف هذه الطريقة والتعابير القياسية سيكون الموضوع صعبا له ..

    رد سريع على أخوي بيشو والمبدع (عقبال ما ترجع وترد )
    يمكن استخدام الطريقة مع أي موقع .. لأن المهم ليس في وجود أرقام مختلفة أو صفحات جديدة ينشئها الموقع .. المهم أن تكون عناوين الصفحات التي ينشئها معروفا .. لأن الطريقة ملخصها أن السيرفر يأخذ من الزائر عنوان مكتوب بطريقة معينة ويحولها إلى طريقة ثانية ويبحث عن ملف يطابق الطريقة الثانية ..
    مثال:
    في موقع ترتيب المواقع العربية إذا أردت معرفة تفاصيل ترتيب وزيارات موقعي فالعنوان الصحيح هو:
    www.ratteb.com/?p=Show&id=internetplus.biz
    وهو قريب من طريقة عنوان ألكسا (بس عنوان طويل) .. وطبعا ممكن يكون أي موقع مكان عنوان موقعي ..
    فاستخدمت الـmod_rewrite لأخبره أنه إذا أتى بعد العنوان الأساسي (www.ratteb.com) عنوان موقع فحوله إلى ذلك العنوان .. هكذا:
    www.ratteb.com/internetplus.biz
    يحول إلى العنوان الأول دون أن يظهره ..

    كل ما يحتاجه الـmod_rewrite هو أن تكون متأكدا من طريقة كتابة عناوين موقعك .. فإذا عرفتها يمكنك عمل تحويل لها ..





    __________________
    ....
    محمد حسام
    انترنت بلس
    إنترنت بلس غير متواجد حالياً

  8. #8
    عضو نشيط
    تاريخ التسجيل
    May 2002
    المشاركات
    177


    جزاك الله خير إنترنت بلس وكما تفضلت تستطيع عمل البدع بهذه الطريقة الجميلة ومزايا عديده باستخدام الشروط عند كتابتها
    ساعطيك مثال سوف اقوم باعطاء دومين فرعي لكل اعضاء سوالف
    كود:
    Options +FollowSymLinks
    RewriteEngine on
    #GHARBAWI
    RewriteCond %{HTTP_HOST} ^([^.]+)\.swalif\.net$ [NC]
    RewriteCond %1 !^www$ [NC]
    RewriteRule ^$ /softs/member.php?username=%1 [L]
    ثم قام الاخ سوالف مشكوراً برفعة الى موقعة
    سوف يكون لي رابط
    gharbawi.swalif.net

    سوف يؤدي الى هذه الصحفة
    http://www.swalif.net/softs/member.p...rname=gharbawi


    اخوكم





    __________________
    Regards
    Garbawi
    gharbawi غير متواجد حالياً

  9. #9
    مـراقـب
    تاريخ التسجيل
    Apr 2001
    المشاركات
    4,264


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

    أسئلة نود من لديه الخبره ان يجاوب عليها ليستفيد منها الجميع

    mod_rewrite و سيرفرات الويندوز
    mod_rewrite و المجلات ( مع العلم أغلب المجلات تستخدم هذه الخاصية وأنا استخدمها في المامبو )
    mod_rewrite و سرعة الموقع
    mod_rewrite و دعم المستضيف لها

    نرجوا منكم المناقشه في الموضوع مع طرح الأمثله ان وجدت





    __________________
    لاَ اِلَهَ اِلاَّ اَنْتَ سُبْحَانَكَ اِنِّي كُنْتُ مِنَ الظَّالِمِينَ
    Fuga غير متواجد حالياً

  10. #10
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    غرباوي
    هذا صحيح لكن مرة جربتها زمان وماشافتش العربي .. هل لو كان الاسم عربي ح يكون العنوان صحيح؟





    __________________
    ....
    محمد حسام
    انترنت بلس
    إنترنت بلس غير متواجد حالياً

  11. #11
    عبدالعزيز الزرعوني
    تاريخ التسجيل
    Feb 2004
    المشاركات
    3,128


    لم أفهم شيئاً اخي انترنت بلس.. فليس لي في البرمجة شيء.. سأفهم في وقت لاحق ان شاء الله..

    لدي سؤال.. موقع "رتب" أهذا هو أليكسا العربي الموعود؟؟ .. هل تم افتتاحه رسمياً.. لماذا لم تخبرنا؟





    __________________
    مدونة المبدع العربي
    المبدع العربي غير متواجد حالياً

  12. #12
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


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

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





    __________________
    ....
    محمد حسام
    انترنت بلس
    إنترنت بلس غير متواجد حالياً

  13. #13
    عبدالعزيز الزرعوني
    تاريخ التسجيل
    Feb 2004
    المشاركات
    3,128


    هل يمكنني أن أشترك وأنا لم أفتتح موقعي، والموقع فاضي يعني بس دومين ومساحة؟؟.. يعني أسجل الموقع ولما أفتحه أشوف شو صار فيه؟





    __________________
    مدونة المبدع العربي
    المبدع العربي غير متواجد حالياً

  14. #14
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    4,037


    لا انتظر حتى تفتتح موقعك إن شاء الله ..





    __________________
    ....
    محمد حسام
    انترنت بلس
    إنترنت بلس غير متواجد حالياً

  15. #15
    عضو نشيط جدا
    تاريخ التسجيل
    Nov 2003
    المشاركات
    436


    http://www.webmaster-toolkit.com/mod...enerator.shtml
    الاخوة الكرام الموضوع فعلا هام جدا اشكر الاخ غرباوي على طرحه وبعد اذنه .. اليكم هذه الاداة المساعدة في صنع ملف htacess الخاص بهذه العملية
    طبعا هناك اكثر من اربعة مودات خاصة بالاباتشي قادرة على عملية اللعب بالمتغيرات الديناميكية و جعلها ثابتة و العملية تعتمد و لتقريب الفكرة على تمرير رقم بجانب اسم الملف بعد التعديل الى البرمجية هذا الرقم سيكون مثلاً لو كان لدينا دليل مواقع هو رقم الفئة المطلوبة
    و لو قررنا تمرير اكثر من متغير يجب الفصل بداش و ساطرح لكم ملفا استخدمه في دليل مواقع لجعل الروابط قصيره و بلاحقة html
    RewriteEngine on
    RewriteRuledirectory(.*)\.html$ /link/index.php?cat=$1
    RewriteRule syria(.*)-(.*)\.html$ /link/review.php?sid=$1&recat=$2

    للتنويه المود هذا خاص بالاباتشي و لا اعتقد انه يعمل على سيرفرات وندوز
    تعديل السكريبتات مع هذا المود ليس بالعملية الصعبة و لكن المشكلة لما السكريبت يعمل ابكريد غالبا حيضيع كل شي و يفضل الالتفات الى السكريبتات التي تقدم هذه الميزة و حاليا في بي و بي بي تقدمها في الارشيف و على كلام الاخ فوجا مامبو تقدمها و صادفت بالامس دليل مواقع فيها هذه الميزة افتراضيا بس المشكلة ما يقبل اسماء عربية

    يعني الخلاصة كلها اشهر و حتصير موضة فانتظروا و ما في داعي للتعب بتعديل السكريبتات





    wisam74us غير متواجد حالياً

صفحة 1 من 9 123456 ... الأخيرةالأخيرة




ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
0
وظائف السعودية || أضف موقعك هنا