إذا لم يسمح لك WPML باختيار أدلة اللغات (مثل http://example.com/es/ للغة الإسبانية)، فذلك لأنه حاول الوصول إلى عنوان URL هذا وواجه خطأ. إليك ما يمكنك التحقق منه لضمان عمل أدلة اللغات.
إليك ما تحتاج إلى إعداده لكي تعمل أدلة اللغات:
- مكّن إعادة كتابة عنوان URL.
- اسمح لـ WordPress بصلاحية القراءة والكتابة في المجلدات.
- تأكد من أن موقعك يستخدم بنية روابط دائمة «جميلة».
كما ترى، ليست هناك حاجة لإنشاء أدلة فعلية على الخادم. اختيار وضع اللغات في أدلة ممكن من خلال إعادة كتابة عنوان URL.
كيف يحدد WPML ما إذا كان يمكنه تمكين اللغات في أدلة
يحاول WPML الوصول إلى استدعاء اختباري يتحقق مما إذا كانت اللغات في الأدلة ستعمل. هذا الاستدعاء الاختباري هو:
yourdomain/LANGUAGE/?____icl_validate_domain=1
على سبيل المثال، للتحقق مما إذا كانت اللغة الإسبانية ممكّنة لنطاقنا الخاص (wpml.org)، سننتقل إلى عنوان URL التالي في متصفحنا:
http://wpml.org/es/?____icl_validate_domain=1
عند القيام بذلك، ستحصل على صفحة تبدو فارغة. انقر بزر الماوس الأيمن على الصفحة واختر عرض مصدر الصفحة. يجب أن ترى المحتوى التالي:
<!--http://wpml.org-->
يخبر هذا WPML أن WordPress يسمح بالوصول إلى بنية عنوان URL هذه. إذا نجح الاستدعاء، فسيسمح WPML باستخدام اللغات في أدلة. خلاف ذلك، ستحصل على رسالة تشرح (إلى حد ما) ما هي المشكلة.
إذا رأى WPML صفحة خطأ، فإنه يعطل هذه الميزة ويطبع رسالة الخطأ الحمراء تلك، مع تفسيرات محتملة لسبب تعطيلها.
هام: يصل WPML إلى عنوان URL الخاص بالتحقق من خلال إجراء استدعاء fopen له. عادةً، يكون هذا مشابهاً لما تفعله المتصفحات، ولكنه ليس نفسه. تأكد من أن fopen ممكّن على خادمك. يمكنك إضافة ما يلي إلى ملف تكوين PHP الخاص بك للتأكد من أنه غير محظور:
SecFilterEngine Off
تأكد من أن WordPress يمكّن إعادة كتابة عنوان URL
من أجل تمكين إعادة كتابة عنوان URL، ينشئ WordPress ملفاً يسمى .htaccess في المجلد الذي تم تثبيته فيه. ينشئ WordPress هذا الملف إذا كنت تستخدم أي شيء آخر غير عناوين URL الافتراضية. يجب أن يحتوي هذا الملف على ما يلي:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPressإذا لم يكن موجوداً، فحاول إنشاءه. وإذا كان موجوداً ولكنه فارغ، فانسخ هذه المحتويات واحفظها.
ماذا تعني القدرة على إعادة كتابة عناوين URL؟
إعادة كتابة عنوان URL هي آلية معقدة، يستخدمها WordPress بشكل مكثف. لكي يعمل هذا، يجب أن يكون خادم الويب (عادةً، Apache) قادراً على إعادة كتابة عناوين URL، ويجب السماح لـ WordPress بإدارة منطق إعادة الكتابة.
في Apache، يقوم mod-rewrite بإعادة كتابة عنوان URL. إنها وحدة قياسية جداً يتم تمكينها افتراضياً. إذا كنت تستخدم Apache ولا يمكنك تفعيل أدلة اللغات، فتحقق من أن mod-rewrite نشط لموقعك. إذا لم تكن متأكداً من كيفية القيام بذلك، فأرسل بريداً إلكترونياً إلى مزود الاستضافة الخاص بك. يمكنك استخدام هذا:
مرحباً!تتطلب إضافة WordPress التي أريد استخدامها تمكين وحدة mod-rewrite. هل يمكنك التحقق من أجلي وإخباري ما إذا كانت وحدة mod-rewrite ممكّنة لموقعي؟ http://example.com
بافتراض أنها ممكّنة، يحتاج WordPress الآن إلى أن يكون قادراً على التحكم في قواعد كتابة عنوان URL. لكي يحدث هذا، يجب أن يكون WordPress قادراً على الكتابة في المجلد الذي تم تثبيته فيه.
تأكد من أن WordPress لديه صلاحية القراءة والكتابة في المجلدات
مرة أخرى، إذا كنت تستخدم Apache، فتعرف على المستخدم الذي يعمل تحته Apache واسمح لهذا المستخدم بصلاحية القراءة والكتابة في المجلد الذي تم تثبيت WordPress فيه. يمكنك القيام بذلك باستخدام برنامج FTP الخاص بك، أو عبر shell أو عبر البريد الإلكتروني.
مرحباً مرة أخرى،أحتاج إلى خدمة أخرى. لقد قمت بتثبيت WordPress في هذا الدليل:
YOUR_WP_INSTALL_DIRECTORY
هل يمكنك تغيير أذونات الملفات للدليل بأكمله (بشكل تعاودي)، بحيث يمكن لخادم الويب القراءة والكتابة هناك؟ أحتاج إلى أن يكون WordPress قادراً على الكتابة في بعض الملفات.
الآن، تحقق مرة أخرى.
تأكد من أن موقعك يستخدم بنية روابط دائمة «جميلة»
يحتاج موقعك إلى استخدام بنية روابط دائمة «جميلة». يمكنك تغيير بنية الرابط الدائم لموقعك في إعدادات WordPress الخاصة بك.
استكشاف الأخطاء وإصلاحها
إذا كنت تستخدم شبكة توصيل محتوى (CDN)، مثل Cloudflare، فقد تمنع اللغات في الأدلة من العمل بشكل صحيح عن طريق إزالة تعليقات HTML. ونتيجة لذلك، قد ترى خطأً إيجابياً كاذباً، والذي يعرض تحذيراً يتعلق بـ
?____icl_validate_domain=1 دون أي مشاكل في الواجهة الأمامية.
هل تحتاج إلى مساعدة؟
إذا كان هذا لا يزال لا يعمل، فيرجى طرح استفسار في دعم WPML.