PDA

View Full Version : UrlRewriting - خطا در url حاوی حروف فارسی در iiis6 winServer2003



shahab2005
دوشنبه 07 شهریور 1390, 13:17 عصر
سلام
از urlrewriting.net استفاده می کنم و فقط یک مشکل دارم
آدرس ها در ویژوال استودیو - iis6 ویندوز iis6 سرور همه کار می کنند ولی در سرور آدرس هایی که کاراکتر فارسی دارند شناسایی نشده و خطای 404 می دهد

اول که در iis اجرا نمی شد و تنظیماتی طبق لینک انجام داده تا در سرور و لوکال اجرا شد (aspnet_isapi.dll)
http://urlrewriter.net/index.php/support/installation/windows-server-2003

ولی الان فقط در سرور که ویندوز 2003 هست کاراکتر فارسی شناخته نمی شود
تنظیم Enabling UTF-8 Format for Non-English Languages در آدرس زیر هم فعال بوده
http://technet.microsoft.com/en-us/library/cc738679(WS.10).aspx

نمونه کد هم برای آموزش و عیب یابی (که فکر نکنم عیبی داشته باشد) قرار می دهم

74565

shahab2005
سه شنبه 08 شهریور 1390, 11:31 صبح
دوستان کسی از urlrewriting.net روی هاست استفاده نکرده؟
لطفا دوستانی که از urlrewriting و آدرس های فارسی برای سایتی استفاده کرده اند، آدرس سایت و هاست شون رو معرفی کنند شاید ما هم مشکلمون حل شد

milade
سه شنبه 08 شهریور 1390, 14:35 عصر
دوستان .
در IIS 7 به بعد امکانی برای مدیر سرور وجود داره تا جلوی حملات URL ی رو توی سرورش بگیره .
سرویسی به نام URL SCAN .
و الان مشکل این دوستمون همینه ، که مشخصه اون این هست که توی آدرس این متن نشون داده میشه :Rejected-By-UrlScan .
شما میتونید به مدیر سرور ( ارسال تیکت به پشتیبانی ) درخواست کنید که این موضوع رو براتون حل کنند .که با افزودن یک Rule انجام میشه .

موفق باشید .

shahab2005
سه شنبه 08 شهریور 1390, 15:08 عصر
با تشکر از آقا میلاد.
دوستان اگر لینک و یا توضیح جامع تری راجع به روش میلاد دارند عنوان کنند که اگر بقیه و یا پشتیبان های سرورها با این راه حل آشنایی کمی داشتند به مشکل نخورند

reza344
سه شنبه 08 شهریور 1390, 15:25 عصر
با مرور گر Mozilla مشکلی نداره
اگه از تگ <a> استفاده کنی در IE هم مشکلی نخواهی داشت ،برای کنترل های سمت سرور هم باید از توابع
HttpUtility.UrlDecode
HttpUtility.UrlEncode
یا
Server.UrlDecode
Server.UrlEncode
استفاده کنی
موفق باشی

reza344
سه شنبه 08 شهریور 1390, 15:29 عصر
<% Response.Write(HttpUtility.UrlDecode(Request.Url.A bsoluteUri)); %>

shahab2005
سه شنبه 08 شهریور 1390, 16:19 عصر
فکر نکنم بحث مرورگر و برنامه نویسی باشد. همانطور که گفتم و در کد ضمیمه می بینید در iis Xp و ویژوال استودیو مشکلی ندارد و در حات فارسی و در iis6 ویندوز 2003 مشکل می خورد و با توجه به خطای Rejected-By-UrlScan با کد مشکل ندارد و با سرور مشکل دارد

ولی اگر زحمتی نیست ببیند همین برنامه من با روش لینک آدرس شما در ویژوال استودیو اصلا کار می کند و فایل اصلاح شده را قرار بدهید تا من روی سرور تست کنم و مطمئن شویم

milade
سه شنبه 08 شهریور 1390, 20:08 عصر
دوست عزیز یه سری چیزها هست که به خاطر برخی مسائل "نمیشه" تا یه زمان خاصی عمومی کرد .
شما به هاست میگفتید این قدر دردسر نداشتید .

اما یه راهنمایی برا هاسیتگ دار ها :
فایلی به نام UrlScan.ini وجود داره که حاوی اطلاعاتی جهت دسترسی ها هستش .
در یه قسمت به نام DenyUrlSequences یه لیست هست جهت محدود کردن .
مستحضر هستید که فارسی به یونیکد تبدیل میشه و پس همه % میگیره .
توی همین لیست هم % بن شد .پس منیجر میتونه یه 2 و 2 تا 4 تا کنه ببینه این رو برداره واسه شما یا escaping رو باز بزاره !

بیشتر از این دیگه ؟

موفق باشید .