قواعد WordPress لها استثناءات أيضًا

وورد اباتشي

وورد اباتشياتخذ WordPress خطوة تطورية كبيرة إلى الأمام في نظام التدوين الأساسي ، حيث نقله أقرب إلى نظام إدارة محتوى كامل مع تتبع المراجعة ، والمزيد من الدعم للقوائم المخصصة ، والميزة الأكثر إثارة للاهتمام بالنسبة لي - دعم متعدد المواقع مع تعيين المجال.

إذا لم تكن مدمنًا على نظام إدارة المحتوى ، فلا بأس بذلك. يمكنك تخطي هذا المقال مباشرة. لكن بالنسبة لزملائي المهووسين بالتكنولوجيا ورؤساء الكود ومغني اباتشي ، أريد مشاركة شيء مثير للاهتمام وشيء رائع.

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

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

هناك مشكلة أخرى مثيرة للاهتمام وهي ما يحدث في ملف htaccess على خادم Apache. يحتاج WordPress إلى إعادة كتابة المسارات على أساس مدونة تلو الأخرى ويقوم بذلك من خلال قاعدة إعادة الكتابة وملف php.

يستخدم WordPress قاعدة إعادة الكتابة التالية:

إعادة كتابة القاعدة ^ ([_ 0-9a-zA-Z -] + /)؟ files /(.+) wp-include / ms-files.php؟ file = $ 2 [L]

بشكل أساسي ، تتم إعادة كتابة أي شيء موجود في دليل فرعي من mysite.com/files/directory إلى mysite.com/files/wp-includes/myblogfolderpath… وهذا هو المكان الذي يصبح فيه مثيرًا للاهتمام. ماذا يحدث إذا كنت تريد بالفعل أن يكون لديك ملف على خادمك هو mysite.com/files/myfolder/myimage.jpg؟ تحصل على خطأ 404 ، هذا ما يحدث. تبدأ قاعدة إعادة كتابة Apache وتغير المسار.

من المؤكد أنك قد لا تصادف هذه المشكلة أبدًا ، لكنني فعلت ذلك. كان لدي موقع يحتاج إلى استخدام عنصر واجهة مستخدم جافا سكريبت من موقع ويب آخر ، وكان بحاجة إلى العثور على رسومات على mysite.com/files/Images/myfile. نظرًا لعدم وجود طريقة لتغيير الملف على الموقع المضيف ، كنت بحاجة لمعرفة طريقة للقيام بذلك على الخادم الخاص بي. الحل السهل هو إنشاء شرط إعادة الكتابة الذي يجعل استثناء لملفات معينة.

هنا هو الحل:

RewriteCond٪ {REQUEST_URI}! /؟ files / Image / file1.jpg $
RewriteCond٪ {REQUEST_URI}! /؟ files / Image / file2.jpg $
إعادة كتابة القاعدة ^ ([_ 0-9a-zA-Z -] + /)؟ files /(.+) wp-include / ms-files.php؟ file = $ 2 [L]

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

ما رأيك؟

يستخدم هذا الموقع نظام Akismet لتقليل الرسائل الضارة. تعرف كيف تتم معالجة بيانات تعليقك.