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

تبلیغات

تبلیغات متنی

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

صرافی rkchange

سایبان ماشین

دزدگیر منزل

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

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

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

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

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

آراد برندینگ

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

موسسه خیریه

واردات از چین

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

ناب مووی

دانلود فیلم

بانک کتاب

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

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

irspeedy

درج اگهی ویژه

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

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

قیمت فرش

درب فریم لس

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

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

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

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

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

قیمت سرور dl380 g10

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

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

خرید فالوور

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

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

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

خرید از چین

خرید از چین

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

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

بی متال زیمنس

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

ویزای چک

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

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

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

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

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

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

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

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

خرید نهال سیب

 






آمار وبسایت

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




هواشناسی

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

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



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

مقاله : ساخت بی نهایت Subdomain از طریق برنامه نویسی -


واضح آرشیو وب فارسی:سایت ریسک: مقاله : ساخت بی نهایت Subdomain از طریق برنامه نویسی shahab_ksh2 10 بهمن 1387, 22:59ایجاد subdomain از طریق برنامه نویسی یکی از جذاب ترین مسائل برنامه نویسی تحت وب است سایتهای زیادی مانند blogfa یا persianblog از این سیستم استفاده می کنند بدین شکل که برای مثال کاربران سایت شما بتوانند آدرس مخصوص به خود را داشته باشند برای مثال شما وب سایتی به نام ******** دارید و دوست دارید که کاربران ساییتون هر کدوم بتونن آدرس اختصاصی داشته باشند ******** .com () ******** .com () یکی از راههایی که وجود داره ایجاد هر زیر دامنه در کنترل پنلتونه اما این کار بصرفه نیست و شما رو خسته می کنه چون که ممکنه در روز هزاران نفر وارد سایت شما بشن و درخواست ایجاد آدرس کنن بجز مورد بالا مشکلات دیگه هم وجود داره مثل - غیر قابل کنترل بودن از طریق برنامه نویسی - به ازاء هر آدرس زیر دامنه باید یک دایرکتوری اختصاص داده بشه - منبع سرور به شدت مورد استفاده قرار می گیره - سازماندهی و کنترل دشوار میشه - برای تعویض سرور به مشکلات زیادی بر میخورید - استفاده ازWildcard هم هزینه های جانبی رو به همراه داره و همه سرورها انجام نمی دن - کار برنامه نویس برای امنیت و یکپارچگی بسیار مشکل میشه - ... برای حل این مشکلات برخی از سرورها خود امکاناتی رو به وجود آورده که براحتی برنامه نویس بتونه بی نهایت دامنه رو از طریق برنامه نویسی به وجود بیاره و حتی کاربران بتونن به راحتی از امکانات این سیستم استفاده کنن از مزایای استفاده از این سرویس میتوان به - قابل کنترل و دسترس بودن از طریق برنامه نویسی - منبع سرور به هیچ وجه درگیر نمیشن و سرعت برنامه شما کاهش پیدا نمی کنه - سازماندهی و کنترل به ساده ترین شکل ممکن امکان پذیره - بی نیاز بودن به سرور اختصاصی و هزینه های سنگین آن - بی نیاز بودن به Wildcard - ... حال از نظر برنامه نویسی کافی کد زیر رو در روت دایرکتوری سایت ************.ir () بنویسید Request.Url.ToString(); در مثال ما اگه آدرس ******** .ir () رو در آدرس بار وارد کنیم مقدار ******** .ir () رو بر میگردونه با استفاده از روشهای برنامه نویسی میشه Subdomain یعنی همون parsa رو آدرس جدا کرد و این چیزی که یک برنامه نویس به اون احتیاج داره برنامه نویس می تونه تمام آدرس های رو از طریق برنامه بدست بیاره در asp.net برنامه نویس می تونه با استفاده از URLRewrite تمام Subdomain ها رو به یه دایرکتوری یا یک صفحه دینامیک ارجاع بده شاید سوال شما این باشه چطور میشه URL ها رو کنترل کرد مثل blogfa یا persianblog این برای یک برنامه نویس کار راحتی فرض کنید می خواهید یک سایت مثل blogfa بزنید که کاربران بتونن از اون طریق ثبت نام کنن و آدرس مخصوص خودشون رو داشته باشن کار راحتی کافی یه بخش ثبت نام توی سایتتون داشته باشید که ID یا همون URL ها رو توی یه دیتابیس ذخیره کنه در این حالت شما میتونید هر آدرس رو فقط یک بار برای یک نفر ثبت کنید مثلا کسی ID به نام parsa رو می خاد ثبت کنه شما ID به نام parsa رو در بانک اطلاعاتی تون ذخیره میکنید و ترتیبی می دید که اگه کسی دوباره خواست اون آدرس رو ثبت کنه نتونه خوب تا حالا فقط کار ثبت ID و منحصر به فرد کردن اون رو انجام دادیم با روش بالا هم روش دست یابی به subdomain رو گفتم بقیه بخش ها مثل مدیریت برای هر کاربر و ... هم که کار راحتی یعنی کلید یا متغییر صفحات شما میشه همون Subdomain ها که منحضر فرد هستند حال کنترل Subdomain ها کل Subdomian های ورودی از سه حالت بیشتر نیست یا قبلا ثبت شده که مراحل بالا رو توضیح دادم یا Subdomian قبلا ثبت نشده یعنی Subdomain رو از url گرفتید توی بانک اطلاعاتی رو گشتید ولی نبوده در این حالت می تونید صفحه رو طراحی کنید که به کاربر بگه این چنین صفحه ای وجود نداره ! یا یه کار بهتر می تونید پیشنهاد ثبت نام این Subdomain رو بدید و حالا حالت سوم فرض کنید کسی www رو وارد کرد یعنی این که مثلا نوشت ******** .ir () در این حالت که www به عنوان یک زیر دامنه شد ! ولی شما می تونید به راحتی کاربر رو به آدرس ******** .ir () یعنی بدون www ریدایرکت کنید برای حذف یک کاربر هم کافی که شما ID که میشه همان subdomain مربوطه رو از بانک اطلاعاتی حذف کنید یا بلوک کنید ! توجه : در صورتی که این کد رو در سرورهای غیر از ******** .ir () آزمایش کردید پیام خطای Internet Explorer cannot display the webpage رو دریافت خواهید کرد در صورتی که در سرورهای ایران سایت نام subdomain برای شما بر گشت داده می شود. موفق باشید. ******** .com () MDP 12 بهمن 1387, 09:43دوست عزیز این آموزش شما هیچ بار علمی نداره و تبلیغ محسوب میشه. ایجاد ساب دومین روش های دیگه ای داره که از جای بحث اینجا نیست. / افرادی که این تاپیک رو می خونن توجه داشته باشند که این روش به هیچ وجه عملی نیست. / :tavajoh: : این قبیل تبلیغات جریمه در بر خواهد داشت. MDP 14 بهمن 1387, 11:09شما فقط تا فردا مهلت دارید اثبات کنید. من فردا آموزش این کار رو برای هر سروری قرار می دم. تاکید میکنم تا 15 بهمن! modir.shop 14 بهمن 1387, 13:41سلام میشه یک نگاه هم به فروم زیر بندازید ممنونم MDP 14 بهمن 1387, 15:111 . من با کسی دعوا ندارم فقط از این نوع تبلیغ بدم میاد. 2 . شما هنوز چیزی رو ثابت نکردید.اگه فکر می کنید ثابت کردید من به شما FTP می دم و روی هاست من پیادش کنید. 3 . اگه عجله دارید می تونید این مقاله رو ببینید : Create Unlimited Subdomains with HTTP Modules - Brendan Tompkins [MVP] () MDP 14 بهمن 1387, 16:37این مقاله فقط از کد استفاده کرده نه از چیز دیگه ای. به زودی ترجمش می کنم. دوستان لطفا اس پم نکنند. m1pfard 17 بهمن 1387, 08:31تنظیم DNS:شما توانایی انجام این کار را زمانی که سرورتان از Wildcard پشتیبانی کند خواهید داشت؛ به طور کلی تنها کافی است تمام درخواستهای ارائه شده به *.domain.com به domain.com بفرستید. درصورتی که سرورتان این خاصیت را پشتیبانی نمیکند، می توانید DNS ها را به صورت دستی بر روی آن تنظیم کنید. تنظیم IIS: نفهدیم چی به چیه؟!!!! ایجاد ماژول پس از آن شما نیاز به قطع درخواستها و ارسال آن به URL مورد نظرتون دارین. یه راه مناسب ایجاد I و اضافه کردن ان به برنامه هست. فقط کافیست در رویداد OnBeginRequest درخواست را خوانده و با استفاده از تابع Server.transfer آن را به آدرس مورد نظر ارجاع داد. یه تاثیر مثبت این روش این است که مرورگر (browser) آدرس جدید را نمایش نمی دهد (برخلاف Response.redirect) . کد مورد استفاده من به این ترتیب است، البته علاوه بر مطالب فوق من از برخی مقایسه ها برای مطمئن شدن از آدرس استفاده کرده ام. چون نمی خواهم برای صفحات دیگر (به غیر از Default.aspx) این اتفاق بیفتد: public class SubdomainModule : I { public void Init( app) { // register for pipeline events app.BeginRequest += new EventHandler(this.OnBeginRequest); } public void Dispose() {} public void OnBeginRequest(object o, EventArgs args) { // get access to app and context app = ()o; ctx = app.Context; if (!(app.Context.Request.Url.Host.StartsWith("codebetter") || app.Context.Request.Url.Host.StartsWith("www"))) { if (ctx.Request.Path.ToUpper() == "/DEFAULT.ASPX") { string[] domainParts = app.Context.Request.Url.Host.Split(".".ToCharArray()); if (domainParts.Length > 2) ctx.Server.Transfer("/explore/explore.aspx?q=" + domainParts[0]); } } } } ثبت ماژول: برای این کار کافی است این کد را به web.config اضافه کنیم. والسلام <> <add name="SubdomainModule" type="Tompkins.Cs.Subdomains.SubdomainModule, Tompkins.Cs.SubdomainHandler" /> </> خوب دیگه بسه کم بخندین!!!! :mad: انگلیسم همینقدر اومد! :D MDP 17 بهمن 1387, 08:36عالیه مهدی جان.دستت درد نکنه.انقدر کار دارم که وقت ترجمه نداشتم.:rose: موضوع کار اینه که به هسته ASP.Net این ماژولی که نوشته شده میگه که وقتی درخواست اومد چکش کنه و بعد بازیابی کنه. این کار به هیچ نرم افزار جدایی هم احتیاج نداره. روی هر سروری که ASP.Net داشته باشه کار میکنه.




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

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

bt

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







-


گوناگون

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


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