• 1404/03/31

مشکل با اسلاگ های فارسی :

سلام

مشکلی در مورد بعضی از صفحات سایتم که اسلاگ فارسی دارند پیش اومده که به درستی کار نمی کنه قبلا این طور نبود و درست کار می کرد جدیدا این جور شده .من سایتم از جنگو 3 استفاده می کرد که من دیدم قدیمی شده و برای همین با استفاده از جنگو 5 بازنویسی کردم و یک قالب هم از اینترنت دانلود کردم و استفاده کردم . بعد در سی پنل جنگو را از 3 به 5 ارتقا دادم و قالب قبلی را هم حذف و قالب جدید را اضافه کردم.

حالا این داستان برای من پیش اومده

مثلا توی این  ادرس

mysite.ir/blog/49 /سلام /

اگر روی هر لینکی که مربوط به این ویو هست مثلا ورود به سایت کلیک کنید لینک به این صورت نمایش میده

mysite.ir/blog/49/سلام/login/

که این قسمت

/blog/49/سلام

اضافه هست ولی اگر اسلاگ انگلیسی باشد

mysite.ir/blog/26/victory/

به این صورت هست که درسته

mysite.ir/login/

وقتی روی سیستم خودم لوکال کد میزدم درست کار می کرد الان که بردم رو سی پنی این جوری شده

  • 1404/04/01
  • ساعت 13:53

سلام خدمت شما دوست عزیز

ببینین این مورد به وب سرور مربوط هستش. اگر قصد دارین از کاراکترهای فارسی در url استفاده کنین ، باید وب سرور شما از اون پشتیبانی کنه

به صورت پیش فرض c-panel از این امکان پشتیبانی نمیکنه و یک سری تغییرات رو باید در هسته ی اصلی جنگو به صورت دستی ایجاد کنین که البته شاید باز هم کار نکنه. برای حل این مشکل باید از وب سرورهای دیگری مثل nginx استفاده کنین

به جای استفاده از پنل های آماده از سرور های لینوکسی استفاده کنین


  • 1404/04/04
  • ساعت 18:15

سلام استاد 

به پشتیبانی که گفتم گفتن از خود جنگو هست و یکم که بیشتر جست و جو کردم به نظر مشکل از خود جنگو 5 هست 

https://forum.djangoproject.com/t/persian-slug-in-django-urls-in-page-start-with-persian-slug-address/29998/20


  • 1404/04/06
  • ساعت 13:23

نه دوست من. اگر از وب سرور nginx استفاده کنین مشکلی ایجاد نمیشه. اگر unicode رو برای slug برابر با True قرار داده باشین ، مشکلی ایجاد نمیشه. وب سرورهای آماده نیاز به تنظیماتی دارن که معمولا پشتیبان های هاستینگ از انجامشون امتناع میکنن

بنده از نسخه ی 5.2 جنگو در وب سرور nginx استفاده میکنم و مشکلی با slug های فارسی ندارم


logo-enamadlogo-samandehi