ورود

View Full Version : خطای Apache به حرف 'م' در URL !!



adelavr
یک شنبه 14 تیر 1394, 23:24 عصر
سلام دوستان
اگه جای این سوال تو این بخش نیست معذرت میخوام نتونستم قسمت سرور ها رو توی انجمن پیدا کنم و عجله هم داشتم
من سایتی رو دارم که آدرس وارد شده توسط کاربر رو توسط htaccess عوض میکنم و مشکلی نداره و کار میکنه
اومدم سایتمو با XAMPP بالا آوردم تا تست های سایتم رو سریعتر و راحتتر انجام بدم قبلا با XAMMP آشنایی داشتم واسه همین کلیه قسمتهای سایت رو به همراه MYSQL کاملا برقرار شد
در کمال ناباوری اشکالی در تغییر آدرس توسط HTaccess مشاهده کردم پس از کلی بررسی که ایراد کار از کجاست متوجه شدم که وقتی در URL از حرف م استفاده شده باشه مشکل به وجود مییاد و htaccess نمیتونه به آدرس تعریف شده هدایت کنه و در نتیجه پیغام Not Foundضاهر میشه
مشکل فقط وفقط روی حرف م وجود داره به طور مثال وقتی آدرس زیر درخواست میشه:


http://localhost/post/تست اول

صفحه مورد نظر درست است اما در آدرس زیر:


http://localhost/post/آموزش

به دلیل اینکه از حرف م در اون استفاده شده مشکل به وجود مییاد و not found میده
اینو هم بگم که توی سرور اشتراکی خودم از همین دستورات توی htaccess استفاده کردم و مشکلی وجود نداره پس دستورات مربوط به htaccess و PHP کاملا درسته و مشکل فقط توی APACHE هستش اونم فقط حساس به حرف م
نمیدونم کد حرف م رو به عنوان کد back میشناسه یا چی که به هر حال مشکل داره !

کسی میتونه منو راهنمایی کنه مثلا میشه از کانفیگ های XAMPP مشکل رو حل کرد ؟؟
دیگه خودم چیزی به فکرم نمیرسه ....

adelavr
پنج شنبه 18 تیر 1394, 22:46 عصر
یعنی تا حالا کسی توی XAMPP آدرس URL به صورت فارسی استفاده نکرده ؟؟ یا اینکه کم لطفی میکنه نظرشو اینجا نمیاره ... :متفکر:

hghyami
جمعه 19 تیر 1394, 13:12 عصر
error log apache to bezar inja lotfan.


http://community.sitepoint.com/t/problem-with-persian-to-url-for-clean-url/86093

adelavr
جمعه 19 تیر 1394, 23:25 عصر
ممنون از توجه شما
تو این لینک (http://barnamenevis.org/showthread.php?349828-%D8%AE%D8%B7%D8%A7%DB%8C-%D8%B5%D9%81%D8%AD%D9%87-%D9%87%D9%86%DA%AF%D8%A7%D9%85-%D8%AA%D8%A7%DB%8C%D9%BE-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%AF%D8%B1-url)یکی گفته مربوط به فایروال هستش نمیدونم مشکل من رو هم اون داشته یا مشکل دیگه ای داشته برهر حال کل فایر وال رو بررسی کردم و مطمئن شدم از فایروال نیست
بررسی های من نشون میده htaccess کاراکتر 'م' (%D9%85) رو احتمالا به عنوان line feed و یا شاید new line میشناسه البته همونطور که گفتم فقط توی آپاچی این مشکل هست و من توی هاستینجر همین کدها رو دارم و مشکلی ندارن
لینک شما و چندین لینک دیگه رو هم دارم بررسی میکنم سعی میکنم اگه مشکل هم حل نشد حداقل دقیقا مشخص بشه که درکدام قسمت مشکل وجود داره
اگه نتیجه ای گرفتم همینجا اعلام میکنم

adelavr
یک شنبه 21 تیر 1394, 00:35 صبح
سلام بر همه
مشکل فوق رو با کاملتر نوشتن کدهای htaccess میشه حل کرد
در htaccess نوشتن (*.) به معنای any character هستش در صورتی که همانطور که گفتم کاراکتر فارسی 'م'
(%D9%85) رو به عنوان کاراکتر نمیشناسه و ضاهرا line feed هستش اما با یه راه حل ساده اونم استفاده از (*[.^]) به جای (*.) مشخص میکنیم که ' هر رشته ای ' نه صرفا 'هر کاراکتری'

اما یه سوال هنوز هم تو ذهنم مونده که اونهم دلیل تفاوت در نحوه کارکرد htaccess در هاستینجر با لوکلهاست هستش آیا دلیلش تفاوت سرور آپاچی نسیت به سرور موجود در هساتینجر هستش آیا میشه با آپدیت آپاچی و یا PHP این تفاوت رو رفع کرد ؟؟

mahmoudikia
پنج شنبه 30 دی 1395, 17:04 عصر
برای داشتن یک رشته شامل کارکترهای فارسی از الگوی زیر استفاده کنید


([\s\S]+)


نتیجه حاصل از این پرانتز را می توانید به فرمت $1جهت بازنویسی URL مد نظر استفاده کنید.

amin3d
چهارشنبه 31 خرداد 1396, 15:17 عصر
سلام، من هم به این مشکل خوردم و تقریبا داشتم برای راه حل اش نا امید می شدم، که خدارا شکر پیدا شد. در اخرین نسخه بسته xampp که از apache2.4.25 استفاده می کرد من با این مشکل روبرو شدم. مشکل من هم با جایگزینی

^(.*)$
به

^([\s\S]*)$
در فایل htaccess حل شد

sahandnav
دوشنبه 14 مرداد 1398, 17:40 عصر
سلام، من هم به این مشکل خوردم و تقریبا داشتم برای راه حل اش نا امید می شدم، که خدارا شکر پیدا شد. در اخرین نسخه بسته xampp که از apache2.4.25 استفاده می کرد من با این مشکل روبرو شدم. مشکل من هم با جایگزینی

^(.*)$
به

^([\s\S]*)$
در فایل htaccess حل شد
تو دیگه کی هستی ایول. مشکل منم حل شد