03-17-2012، 05:10 PM
ایجاد زیر دامنه (Subdomain ) توسط برنامه نویسی (Wildcard DNS )
راه اندازی بلاگ ها و شبکه های اجتماعی مجازی مستلزم وجود زیردامنه های متعدد و متغیر است، ایجاد Subdomain از طریق کدنویسی راهکار مناسبی می باشد.آشنایی با کدنویسی مربوطه (یا در شرایطی استفاده از URL Rewriting )و DNS Record لازمه استفاده از این قابلیت می باشد.
در این روش، بازدیدکننده سایت شما با وارد کردن یک زیردامنه (subdomain ) در url ، "user.yourdomain.com " بدون مشاهده تغییری در ظاهر URL به فلدر مورد نظر هدایت میشود، به طور مثال برای دامین در بلاگ yourdomain تغییری که باید صورت پذیرد به صورت زیر می باشد:
http://userblog.yourdomain به http://yourdomain/userblog
در صورتیکه در آدرس بار همان آدرس : http://userblog.yourdomain نمایش داده خواهد شد. در اصل با توجه به تنظیمات DNS و کدهای نوشته شده عمل rewrite و هدایت به صورت پنهانی صورت خواهد پذیرفت.
روش کار در سرویس های میزبانی 2003 ایران هاست به شرح ذیل می باشد :
گام اول: تهیه Dedicated IP
ابتدا برای پیاده سازی به یک IP اختصاصی نیاز خواهید داشت تا درخواست هایی را که برای هر زیر دامنه از سایت شما ارسال می شود را به روت سایت مربوطه ارجاع دهد. در ایران هاست میتوانید با هزینه سالیانه 110000 تومان گواهی SSL و Dedicated IP تهیه فرمایید (توجه داشته باشید در ایران هاست امکان خرید Dedicated IP بصورت جداگانه وجود ندارد).
گام دوم: تنظیمات DNS
بعداز تهیه dedicated IP باید رکورد وایلدکارت ( * ) را در Zone Editor DNS هاست خود برای آی پی اختصاصی که تهیه نموده اید ویراش نمایید لذا ابتدا از طریق آدرس cp.yourdomain ( به جای yourdomain نام دامین خود را وارد نمایید ) یا cp.iranhost.com و اطلاعات مربوطه وارد کنترل پنل هاست خود شوید. سپس روی گزینه domains و سپس نام دامین خود کلیک نمایید در صفحه لود شده آیکون DNS Zone editor را انتخاب نموده و سپس روی نام رکورد * موجود کلیک نمایید تا صفحه ای مانند شکل ذیل لود گردد :
حال کافیست آی پی موجود در فیلد record data را حذف و آی پی اختصاصی خریداری شده را به جای آن وارد و روی گزینه save کلیک نمایید.
با اینکار هر زیردامنه (در صورتیکه به صورت فیزیکی موجود نباشد) به IP اختصاصی ارجاع داده خواهد شد.
گام سوم افزودن کد :
از آنجا که این گام در هر 2 سرویس 2003 و 2008 ایران هاست یکسان می باشد لذا توضیحات این گام را می توانید در گام سوم روش ذیل مشاهده بفرمایید
روش کار در سرویس های میزبانی 2008 ایران هاست به شرح ذیل می باشد :
گام اول: تهیه Dedicated IP
ابتدا برای پیاده سازی به یک IP اختصاصی نیاز خواهید داشت تا درخواست هایی را که برای هر زیر دامنه از سایت شما ارسال می شود را به روت سایت مربوطه ارجاع دهد. در ایران هاست میتوانید با هزینه سالیانه 110000 تومان گواهی SSL و Dedicated IP تهیه فرمایید (توجه داشته باشید در ایران هاست امکان خرید Dedicated IP بصورت جداگانه وجود ندارد).
گام دوم: تنظیمات DNS
بعداز تهیه dedicated IP باید رکورد وایلدکارت ( * ) را در Zone Records DNS هاست خود برای آی پی اختصاصی که تهیه نموده اید ویراش نمایید لذا ابتدا از طریق آدرس cp.yourdomain ( به جای yourdomain نام دامین خود را وارد نمایید ) یا wsp.iranhost.com و اطلاعات مربوطه وارد کنترل پنل هاست خود شوید. روی گزینه Domains کلیک نموده و سپس نام دامین خود را انتخاب نمایید .در صفحه لود شده گزینه Edit DNS Records کلیک نموده تا صفحه ای مانند ذیل لود گردد :
حال کافیست آی پی موجود در فیلد IP را حذف و آی پی اختصاصی خریداری شده را به جای آن وارد و روی گزینه save کلیک نمایید. با اینکار هر زیردامنه (در صورتیکه به صورت فیزیکی موجود نباشد) به IP اختصاصی ارجاع داده خواهد شد.
نکته : گام سوم در هر دو سرویس (2003 و 2008 ) یکسان می باشد
گام سوم: افزودن کدها
در صورتیکه application خود را با ASP.NET ورژن 5/3 یا بالاتر نوشته اید می توانید از قابلیت ASP NET routing و در صورتیکه از ASP.Net و اگر ورژن پایین تر از 3.5 است می توانید از قابلیت http handler استفاده نمایید.
در ذیل برای راهنمایی بیشتر نمونه کدی ارائه می شود :
string host, originalurl, newurl;
host = Request.Url.Host;
originalurl = Request.Url.PathAndQuery;
if (host.EndsWith(".YourDomin.com"))
{
newurl = "Default.aspx?subdomain=" + host.Replace(".YourDomin.com ", "");
HttpContext.Current.RewritePath(newurl);
}
توضیح کد مربوطه به این شرح می باشد : ابتدا آدرس درخواست شده بررسی شده، در صورتی که این آدرس زیر دامنه ای از دامنه ی اصلی بود دستورات داخل آکولاد اجرا خواهند شد.پس از اطمینان از وجود زیر دامنه، نام آن دامنه به صفحه ای هدایت میشود، این کار بوسیله Rewrite کردن URL انجام شده و کاربر متوجه این انتقال نخواهد شد. این دستورات در رویداد Application_BeginRequest (که اولین رویدادی است که بعد از درخواست کاربر رخ میدهد) نوشته میشوند. توجه داشته باشید که میتوانید برای سهولت یک فایل Global.asax ساخته و کد ها را در آن بنویسید.
لازم به ذکر است که ایران هاست تنها در زمینه ارائه آی پی اختصاصی ( در قبال پرداخت وجه مربوطه از طرف مشتری ) و همچنین راهنمایی در جهت ست نمودن رکورد * مربوطه پشتیبانی ارائه می نماید و موارد مربوط به گام سوم ، برنامه نویسی و کدهای مورد نیاز پشتیبانی نخواهد داشت.
راه اندازی بلاگ ها و شبکه های اجتماعی مجازی مستلزم وجود زیردامنه های متعدد و متغیر است، ایجاد Subdomain از طریق کدنویسی راهکار مناسبی می باشد.آشنایی با کدنویسی مربوطه (یا در شرایطی استفاده از URL Rewriting )و DNS Record لازمه استفاده از این قابلیت می باشد.
در این روش، بازدیدکننده سایت شما با وارد کردن یک زیردامنه (subdomain ) در url ، "user.yourdomain.com " بدون مشاهده تغییری در ظاهر URL به فلدر مورد نظر هدایت میشود، به طور مثال برای دامین در بلاگ yourdomain تغییری که باید صورت پذیرد به صورت زیر می باشد:
http://userblog.yourdomain به http://yourdomain/userblog
در صورتیکه در آدرس بار همان آدرس : http://userblog.yourdomain نمایش داده خواهد شد. در اصل با توجه به تنظیمات DNS و کدهای نوشته شده عمل rewrite و هدایت به صورت پنهانی صورت خواهد پذیرفت.
روش کار در سرویس های میزبانی 2003 ایران هاست به شرح ذیل می باشد :
گام اول: تهیه Dedicated IP
ابتدا برای پیاده سازی به یک IP اختصاصی نیاز خواهید داشت تا درخواست هایی را که برای هر زیر دامنه از سایت شما ارسال می شود را به روت سایت مربوطه ارجاع دهد. در ایران هاست میتوانید با هزینه سالیانه 110000 تومان گواهی SSL و Dedicated IP تهیه فرمایید (توجه داشته باشید در ایران هاست امکان خرید Dedicated IP بصورت جداگانه وجود ندارد).
گام دوم: تنظیمات DNS
بعداز تهیه dedicated IP باید رکورد وایلدکارت ( * ) را در Zone Editor DNS هاست خود برای آی پی اختصاصی که تهیه نموده اید ویراش نمایید لذا ابتدا از طریق آدرس cp.yourdomain ( به جای yourdomain نام دامین خود را وارد نمایید ) یا cp.iranhost.com و اطلاعات مربوطه وارد کنترل پنل هاست خود شوید. سپس روی گزینه domains و سپس نام دامین خود کلیک نمایید در صفحه لود شده آیکون DNS Zone editor را انتخاب نموده و سپس روی نام رکورد * موجود کلیک نمایید تا صفحه ای مانند شکل ذیل لود گردد :
حال کافیست آی پی موجود در فیلد record data را حذف و آی پی اختصاصی خریداری شده را به جای آن وارد و روی گزینه save کلیک نمایید.
با اینکار هر زیردامنه (در صورتیکه به صورت فیزیکی موجود نباشد) به IP اختصاصی ارجاع داده خواهد شد.
گام سوم افزودن کد :
از آنجا که این گام در هر 2 سرویس 2003 و 2008 ایران هاست یکسان می باشد لذا توضیحات این گام را می توانید در گام سوم روش ذیل مشاهده بفرمایید
روش کار در سرویس های میزبانی 2008 ایران هاست به شرح ذیل می باشد :
گام اول: تهیه Dedicated IP
ابتدا برای پیاده سازی به یک IP اختصاصی نیاز خواهید داشت تا درخواست هایی را که برای هر زیر دامنه از سایت شما ارسال می شود را به روت سایت مربوطه ارجاع دهد. در ایران هاست میتوانید با هزینه سالیانه 110000 تومان گواهی SSL و Dedicated IP تهیه فرمایید (توجه داشته باشید در ایران هاست امکان خرید Dedicated IP بصورت جداگانه وجود ندارد).
گام دوم: تنظیمات DNS
بعداز تهیه dedicated IP باید رکورد وایلدکارت ( * ) را در Zone Records DNS هاست خود برای آی پی اختصاصی که تهیه نموده اید ویراش نمایید لذا ابتدا از طریق آدرس cp.yourdomain ( به جای yourdomain نام دامین خود را وارد نمایید ) یا wsp.iranhost.com و اطلاعات مربوطه وارد کنترل پنل هاست خود شوید. روی گزینه Domains کلیک نموده و سپس نام دامین خود را انتخاب نمایید .در صفحه لود شده گزینه Edit DNS Records کلیک نموده تا صفحه ای مانند ذیل لود گردد :
حال کافیست آی پی موجود در فیلد IP را حذف و آی پی اختصاصی خریداری شده را به جای آن وارد و روی گزینه save کلیک نمایید. با اینکار هر زیردامنه (در صورتیکه به صورت فیزیکی موجود نباشد) به IP اختصاصی ارجاع داده خواهد شد.
نکته : گام سوم در هر دو سرویس (2003 و 2008 ) یکسان می باشد
گام سوم: افزودن کدها
در صورتیکه application خود را با ASP.NET ورژن 5/3 یا بالاتر نوشته اید می توانید از قابلیت ASP NET routing و در صورتیکه از ASP.Net و اگر ورژن پایین تر از 3.5 است می توانید از قابلیت http handler استفاده نمایید.
در ذیل برای راهنمایی بیشتر نمونه کدی ارائه می شود :
string host, originalurl, newurl;
host = Request.Url.Host;
originalurl = Request.Url.PathAndQuery;
if (host.EndsWith(".YourDomin.com"))
{
newurl = "Default.aspx?subdomain=" + host.Replace(".YourDomin.com ", "");
HttpContext.Current.RewritePath(newurl);
}
توضیح کد مربوطه به این شرح می باشد : ابتدا آدرس درخواست شده بررسی شده، در صورتی که این آدرس زیر دامنه ای از دامنه ی اصلی بود دستورات داخل آکولاد اجرا خواهند شد.پس از اطمینان از وجود زیر دامنه، نام آن دامنه به صفحه ای هدایت میشود، این کار بوسیله Rewrite کردن URL انجام شده و کاربر متوجه این انتقال نخواهد شد. این دستورات در رویداد Application_BeginRequest (که اولین رویدادی است که بعد از درخواست کاربر رخ میدهد) نوشته میشوند. توجه داشته باشید که میتوانید برای سهولت یک فایل Global.asax ساخته و کد ها را در آن بنویسید.
لازم به ذکر است که ایران هاست تنها در زمینه ارائه آی پی اختصاصی ( در قبال پرداخت وجه مربوطه از طرف مشتری ) و همچنین راهنمایی در جهت ست نمودن رکورد * مربوطه پشتیبانی ارائه می نماید و موارد مربوط به گام سوم ، برنامه نویسی و کدهای مورد نیاز پشتیبانی نخواهد داشت.