تور لحظه آخری
امروز : شنبه ، 19 آبان 1403    احادیث و روایات:  پیامبر اکرم (ص):روزه بگيريد تا تندرست باشيد.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

قیمت پنجره دوجداره

بازسازی ساختمان

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

چراغ خطی

 






آمار وبسایت

 تعداد کل بازدیدها : 1827797513




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

بازنویسی URL و دادن SubDomain اختصاصی به کاربران -


واضح آرشیو وب فارسی:سایت ریسک: بازنویسی URL و دادن SubDomain اختصاصی به کاربران amir_3d_mad 28 شهريور 1386, 12:08سلام . میخوام بدونم با چه روشی میشه URL های سایت رو بازنویسی کرد ؟ یعنی به جای نوشتن یه چیز دیگه نوشت : مثلا به این صورت : یا به این صورت : یعنی با زدن این آدرس مرورگر همون page1.aspx رو لود کنه ولی amir رو به عنوان query بشناسه تا بشه ازش تو اون صفحه استفاده کرد ! aramdreamss 30 شهريور 1386, 17:04مشتری من یک وب سایت با تعدادی ساب دامین داشت که مثلا به شکل products.somedomain.com تعریف شده بودند.حالا مشتری می خواست اگر به عنوان مثال کاربر آدرس support.somedomain.com/helpdesk.aspx را درخواست کرد اطلاعات از somedomain.com/support/helpdesk.aspx برای او نمایش داده شود. یعنی کاربر همیشه آدرس را در مرورگر خود ببیند ( در حالی که اطلاعات در پوشه support قرار دارند ) . این روند تغییر آدرس از آن چه که درخواست شده است " بازنویسی آدرس" نام دارد. در این مقاله ما یکی از راه های حل این مشکل را بررسی خواهیم کرد. چه گزینه هایی برای بازنویسی URL در اختیار داریم؟ - ساده ترین و مناسب ترین راه استفاده از Application_BeginRequest و کلاس برای بازنویسی آدرس است. - استفاده از یک ماژول http در برنامه ASP.NET برای انجام این کار -استفاده از یک فیلتر ISAPI که درخواست ها را بررسی و عمل بازنویسی را انجام دهد. در این مقاله ما روش اول را آزمایش خواهیم کرد. علت استفاده از این روش برای انجام کار سادگی و سرعت تعریف آن می باشد. در موارد کلی تر و پیشرفته تر شما ممکن است دو روش دیگر را انتخاب کنید. رویداد Application_BeginRequest رویداد Application_BeginRequest اولین رویدادی است که در خط لوله ( Pipeline ) پردازش مربوط به HTTP اجرا می شود. این رویداد بهترین مکان برای قرار دادن کد بازنویسی آدرس است. کلاس کلاس شامل اطلاعات ویژه HTTP در مورد یک درخواست HTTP است.این کلاس همچنین به شما اجازه دسترسی به دیگر اشیا ASP.NET نظیر Request و Response را می دهد. این کلاس یک متد استاتیک به نام Current دارد که مراجع برنامه جاری را نگهداری می کند. متد RewritePath() در این کلاس کلید انجام عمل بازنویسی آدرس است. این متد به دو شکل در دات نت فریم ورک 1.1 تعریف شده است: کد: public void RewritePath(string); public void RewritePath(string, string, string); نقش اصلی متد RewritePath() به روز کردن مسیر شی Request و نیز مشخصه های Query String برای ماست.به عبارت دیگر استفاده از این متد این امکان را به ما می دهد تا از آدرس هایی استفاده کنیم که با مسیر داحلی صفحه تفاوت دارند. مثال - گام به گام - یک پروژه ASP.NET در سی شارپ بسازید. -فایل web.config را باز کنید و تگ های زیر را به آن بیفزایید: کد: <appSettings> <add key="productsSite" value="products"></add> <add key="servicesSite" value="services"></add> <add key="supportSite" value="support"></add> </appSettings> ما نام های فیزیکی پوشه هایی که صفحات واقعی در آنها قرار دارند را در بخش appSettings ذخیره می کنیم. ما این اطلاعات را بعدا در کدی که می نویسیم خواهیم خواند. - سه پوشه جدید در برنامه خود بسازید : Products وServices و Support -به هر یک از این پوشه ها یک وب فرم به نام MainPage.aspx اضافه کنید. -فایل Global.asax را باز کنید و هندلر زیر را پیدا کنید: protected void Application_BeginRequest (Object sender, EventArgs e) - کد زیر را به Application_BeginRequest اضافه کنید : کد: string host,originalurl,newurl; host=Request.Url.Host; originalurl=Request.Url.PathAndQuery; switch(host) { case "products.somedomain.com": newurl="~/" + ConfigurationSettings.AppSettings["productsSite"] + originalurl; break; case "services.somedomain.com": newurl="~/" + ConfigurationSettings.AppSettings["servicesSite"] + originalurl; break; case "support.somedomain.com": newurl="~/" + ConfigurationSettings.AppSettings["supportSite"] + originalurl; break; default: newurl="~/" + ConfigurationSettings.AppSettings["supportSite"] + originalurl; break; } (newurl); حالا بیایید کد را با هم بررسی کنیم: ما ابتدا ویژگی هوست مربوط به درخواست را به کمک Request.Url.Host دریافت می کنیم. در مورد این مثال ما آن را به صورت چیزی شبیه به support.somedomain.com یا somedomain.com دریافت می کنیم. ما همچنین مسیر و query string صفحه درخواست شده را به کمک Request.PathAndQuery بدست می آوریم. در سناریو ما این چیزی شبیه به /helpdesk.aspx خواهد بود. عبارت switch هوست را تست می کند و بر اساس هوست دریافت شده ما اطلاعات مربوط به محل فیزیکی صفحه را از فایل web.config می خوانیم. ما آدرس جدید را از ریشه به این پوشه فیزیکی تغییر می دهیم ( با کاراکتر ~ ) در نهایت متد RewritePath() را از کلاس فراخوانی می کنیم و آدرس جدید را به آن پاس می کنیم. در نتیجه زمانی که کاربر آدرسی نظیر support.somedomain.com را درخواست کند ما اطلاعات را از جایی مثل somedomain.com/support folder به کاربر خواهیم داد. ------------------------------------------------------------------------------------------ <system.web> <urlMappings enabled="true"> <add url="~/Widget.aspx" mappedUrl="~/Products/W/Widgets.aspx"/> </urlMappings> </system.web> ------------------------------------------- ببين كارت رو را ميندازه يا نه اگه نه بگو... amir_3d_mad 31 شهريور 1386, 04:18aramdreamss عزیز خیلی ممنون از توضاحات کاملتون . من حتما تست میکنم . اگه مشکلی داشتم ، باز مزاحمتون میشم . مرسی .




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 3123]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن