متجر متعدد اللغات كدليل فرعي مرتبط على nginx يُرجع "لا يوجد طريق إلى الصفحة"

magento.stackexchange https://magento.stackexchange.com//questions/64702

سؤال

كنا بحاجة إلى إنشاء متجرنا متعدد اللغات باستخدام subdirectory/symlink الطريقة الموصوفة هنا.(اقرأ لماذا @ القاع)

كيف فعلنا ذلك. قمنا بنسخ ملف Index.php إلى دليل فرعي وقمنا بربط كافة المجلدات به.ال base url تم تعيينه على domain.com/en

مشكلة/سؤالالآن عندما أفتح domain.com/en يمكنني رؤية موقع الويب ويظهر النسخة الإنجليزية.الشيء الوحيد هو أن جميع روابط الفئات والمنتجات تنتج خطأ "لا يوجد طريق إلى الصفحة".بدلاً من إظهار الفئة أو المنتج.الآن كيف يمكن أن يكون هذا؟

مثاللذا https://domain.com/en/funkyshoes لا يفتح فئة funkyshoes، ولا حتى funkyshoes https://domain.com/funkyshoes لذاك السبب.https://domain.com/en/funkyshoes يعود => no route to page https://domain.com/funkyshoes يعود => https://domain.com/en


ولم لا؟نظرًا لأن لدينا أكثر من متجر واحد متعدد المتاجر ولا يمكننا منح كل متجر رمز متجر متعدد اللغات مثل en/de/fr وأيضًا لدينا متجر متعدد واحد بنطاقات مختلفة لكل متجر والآخر باستخدام طريقة /en و/de و/fr من النطاق الرئيسي .

هل كانت مفيدة؟

المحلول 2

الحل الأفضل هو:

location / { try_files $uri $uri/ @rewrite; } location @rewrite { rewrite /(../)? /$1index.php?$args; }

لأنه كان لدينا بعض قواعد الموقع الخاصة للكتالوج|الخروج|العميل.تكمن المشكلة في أن الجميع أشاروا إلى @rewrite - وبهذه الطريقة كان علينا إعادة كتابة جميع أوامر الموقع التي تم إعدادها لتكون لها أيضًا تطابق منفصل لـ /en والإصدارات الأحدث /fr و/de .....

لذلك توصلنا إلى أبسط طريقة احتياطية لإعادة كتابة هذا الاختبار أولاً لـ / ثم لـ / (رمز مكون من حرفين) ....ويعيد الكتابة بناء على ذلك

يبدو أنه يعمل بشكل جيد

بالإضافة إلى ذلك، يجب تغيير عملية البحث عن store_code.بسبب /en، لم يعد متغير http_host أو متغير الخادم يعمل.

يمكن العثور على حل ممكن هنا:https://stackoverflow.com/questions/30078679/nginx-conf-w-multiple-maps-to-same-variable

نصائح أخرى

هذه مشكلة NGINX.

إضافة هذا إلى ملف conf حل مشكلتنا

location /en {
 rewrite ^/en(.*)$ /en/index.php last;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top