- الحالة
- محلولة
نظرة عامة على المشكلة
عندما تغيّر تنسيق URL بعد نشر مقالاتك وترجمتها، قد تواجه مشكلة في إعادة توجيه عناوين URL إذا كتبتها مباشرة في شريط عناوين المتصفح.
على سبيل المثال:
- تستخدم لغات مختلفة في أدلة مع WPML ويحتوي موقعك على عنوان URL لصفحة مثل http://mysite.com/es/pagina-de-muestra/
- غيّر الآن تنسيق URL إلى نطاق مختلف لكل لغة، وسيصبح عنوان URL أعلاه الآن http://misitio.es/pagina-de-muestra/
- افتح مباشرة http://mysite.com/es/pagina-de-muestra/
النتيجة هي إشعار 404 من الخادم.
* ملاحظة – تمنع إضافة روابط ثابتة لـ WPML حدوث حالة مشابهة ولكنها ليست مطابقة – ولكن في هذه الحالة، نظراً لأنك تستخدم عنوان URL مباشرةً، فلن تفيدك
حل بديل مؤقت
هذا ليس خطأً برمجياً ولكن هناك طريقة مخصصة لإصلاحه عن طريق تعديل ملف .htaccess الخاص بالموقع. لا يمكننا مساعدتك في ذلك نظراً لأنه يعتمد على إعداداتك وهو عمل مخصص متقدم، ولكن يمكننا تقديم مثال لك.
بالنسبة للسيناريو السابق، يجب عليك وضع كود مشابه أعلى قواعد WordPress مباشرة. سيكون وضعه في أعلى ملف .htaccess مناسباً:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule ^es(.*)$ http://misitio.es$1 [L,R=301]
ستنتهي جميع الطلبات الموجهة إلى http://mysite.com/es/pagina-de-muestra/ في http://misitio.es/pagina-de-muestra/ الآن.
يُرجى وضع ما يلي في الاعتبار:
- يعمل هذا فقط على خوادم Apache مع تمكين mod-rewrite
- توجد موارد عديدة حول هذا الموضوع، على سبيل المثال، هذه المدونة.
في الوقت الحالي، من المهم أن تعرف أن السلوك المتوقع عند تغيير تنسيق URL هو أنه إذا حاولت الوصول إلى النطاق القديم مباشرة (عبر شريط العناوين)، فستحصل على إعادة توجيه 301 إلى اللغة الافتراضية الرئيسية