چگونه می توان زیردامنه مجازی ایجاد نمود؟

از آنجا که در سرویس های ابری 2016 ایجاد subdomain از طریق کنترل پنل SolidCP در پلانهای P6  و بالاتر، باعث هدر رفتن منابع دامنه پلان شما می شود، از طرفی در پلان های پایین تر امکان ایجاد subdomain وجود ندارد.(هرsub domain  به عنوان یک دامنه هاست شده در نظر گرفته می شود) لذا می توانید جهت جلوگیری از این موضوع و همچنین بهره مندی از sub domain در پلان خود ازsub domain های مجازی(که توسط قابلیت URL Rewrite درIIS 10  پشتیبانی می شود) استفاده نمایید.

برای ایجاد sub domain در پلان های ابری 2016 ایران هاست مراحل ذیل را دنبال نمایید:

1-  ایجاد pointer برای subdomain  موردنظر:

از طریق آدرس cp.yourdomain (به جایyourdomain نام دامنه خود را وارد نمایید). همچنین می توانید  با آدرس solidcp.iranhost.com و با استفاده از نام کاربری و کلمه عبور مربوطه وارد کنترل پنل هاست خود شوید.

برروی آیکون  Website کلیک نمایید. در صفحه لود شده برروی نام دامینی که می خواهید ساب دامین برای آن ایجاد شود کلیک نمایید. در صفحه لود شده گزینه Add Website Pointer  را انتخاب نمایید.
 حال کافیست در بخش اول نام ساب دامین را وارد و در بخش دوم دامین مورد نظر را انتخاب نمایید (به طور مثال در صورتیکه می خواهید 
portal.iranhost.com را به عنوان ساب دامین داشته باشید باید در بخش اول portal  را وارد و در بخش دوم iranhost.com  را انتخاب نمایید) در انتها برروی گزینه Add Pointer  جهت اضافه شدن تنظیمات ، کلیک نمایید.

 

2- ایجاد فولدر به نام subdomain موردنظر در فولدر wwwroot  در File Manager سایت مربوطه:

از قسمت Hosting Space روی آیکون File Manager کلیک نمایید. در این صفحه روی فولدری که به نام دامنه موردنظر می باشد کلیک کرده و به شاخه ی wwwroot بروید. روی آیکون create folder کلیک کرده و فولدری به نام subdomain  موردنظر ایجاد کنید (به طور مثال در صورتیکه ساب دامین مورد نظر  portal.iranhost.com  است باید در فلدر wwwroot  مربوط به iranhost.com  یک فلدر به نام portal  ایجاد نمایید) و سپس فایلها و فولدرهای مربوطه را در این فولدر Upload نمایید.

3- اضافه نمودن کد مربوطه به فایل web.config  سایت :
برای این منظور ابتدا محتویات فایل web.config  (فعلی خود که در شاخه ی wwwroot  بخش file manager سایت مربوطه موجود میباشد ) را کپی کرده و در یک ویرایشگر متنی مانند  Notepad و یا Notepad++  آن راpaste  نمایید حال کافیست کد زیر را بین دو تگ "<system.webServer >و "</system.webServer >"موجود مطابق شکل زیر قرار دهید . سپس کل محتویات کنونی را مجدداً در فایل web.config  هاست خود قرار داده و ذخیره نمایید.

 

 

کد مربوط به Rewrite :
 

توجه فرمایید که در تمامی خطوط کد زیر، باید به جای عبارت Domain.com ، نام دامنه خود را قرار دهید.

 
 

 

<system.webServer>

<rewrite>

            <rules>

                <rule name="Imported Rule 1" stopProcessing="true">

                    <match url="(.*)" ignoreCase="false" />

                    <conditions logicalGrouping="MatchAll">

                        <add input="{HTTP_HOST}" pattern="^www.domain.com" negate="true" />

                        <add input="{HTTP_HOST}" pattern="^([^.]+).domain.com" ignoreCase="false" />

                    </conditions>

                    <action type="Rewrite" url="/{C:1}/{R:1}" />

                </rule>

                <rule name="Imported Rule 2" stopProcessing="true">

                    <match url="^([^/]+)/(.*)$" ignoreCase="false" />

                    <conditions logicalGrouping="MatchAll">

                        <add input="{THE_REQUEST}" pattern="^[A-Z]{3,9}\ /(.+)\ HTTP/" ignoreCase="false" />

                    </conditions>

                    <action type="Redirect" url="http://{R:1}.domain.com/{R:2}" redirectType="Permanent" />

                </rule>

            </rules>

        </rewrite>

</system.webServer>

 
 

 
حال می توانید با زدن نام ساب دامین ایجاد شده در آدرس بار مرورگر ، محتویات مربوطه را مشاهده نمایید.
 
 
 
نکته : در صورتی که در فضای میزبانی خود Domain Alias دارید و قصد دارید   Sub-Domain تعریف شده برای دامنه جانشین نیز کار کند باید به صورت ذیل عمل نمایید:
 
در ابتدا همانند مراحل ایجاد ساب دامین ، یک Pointer بر اساس نام دامنه جدید ایجاد کنید. سپس باید کد قبلی را مجددا  مابین تگ <rules> و </rules> و در زیر تگ </rule> کد قبلی که با رنگ قرمز مشخص شده، به صورت زیر اضافه نمایید، و همانند کد قبلی نام دامنه و ساب دامین را بصورت تفکیک شده در قسمت مشخص شده با رنگ قرمز وارد نمایید، بنابراین برای اضافه کردن دامنه  جدید   sub.newdomain.com   کد زیر را داریم :  
 
<rewrite>
   <rules>
      <rule name="Rewrite sub-domain to dir" enabled="true">
         <match url="^(.*)$" />
         <conditions>
            <add input="{HTTP_HOST}" pattern="^sub\.Mydomain\.ir$" />
         </conditions>
         <action type="Rewrite" url="sub/{R:1}" />
      </rule>
            
        <rule name="Redirect subdomain" enabled="true">
         <match url="^(.*)$" />
         <conditions>
            <add input="{HTTP_HOST}" pattern="^sub\.Newdomain\.com$" />
         </conditions>
         <action type="Rewrite" url="sub/{R:1}" />
      </rule>
      
   </rules>
</rewrite>
 
 
لازم به ذکر است جهت کارکرد  اپلیکیشن .NET در ساب دامین مجازی، می بایست بعد از انجام تمامی موارد  ذکر شده در بالا، در انتها برای فلدر مربوط به ساب دامین مجازی تان  یک Virtual Directory با نام همان فلدر تعریف نمایید.
 
 
2. کد لازم برای ریدایرکت تنها یک ساب دامنه:
مزیت این کد در این است که با کدهای rewrite   دیگر اختلال ایجاد نمی کنید :
مثال - اگر آدرس زیر دامنه شما sub.mydomain.ir باشد،کد بدین شکل تغییر خواهد کرد : 
 
 
<rewrite>
   <rules>
      <rule name="Rewrite sub-domain to dir" enabled="true">
         <match url="^(.*)$" />
         <conditions>
            <add input="{HTTP_HOST}" pattern="^sub\.Mydomain\.ir$" />
         </conditions>
         <action type="Rewrite" url="sub/{R:1}" />
      </rule>
   </rules>
</rewrite>
 
 
 
 
جهت دریافت راهنمایی های مربوطه به لینک زیر مراجعه نمایید.
 
http://support.iranhost.com/KB/a381/article.aspx?KBSearchID=0