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

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

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

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

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

برروی آیکون Web  و سپس گزینه 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++  آن را past  نمایید حال کافیست کد زیر را بین دو تگ "<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 تعریف شده برای دامنه یا دامنه های جانشین نیز کار کند باید به صورت ذیل عمل نمایید:

 

 

 

 

باید کدهای مابین تگ <rules> و </rules> را  مجددا در زیر تگ </rule> که با رنگ قرمز مشخص شده، به صورت زیر اضافه نمایید:

 

 

توجه فرمایید به جای  Domain.com باید نام دامین اصلی و به جای Domain.ir نام دامین جانشین خود را وارد نمایید .

 

 

 
<system.webServer>
<rewrite>
            <rules>
                <rulename="Imported Rule 1"stopProcessing="true">
                    <matchurl="(.*)"ignoreCase="false"/>
                    <conditionslogicalGrouping="MatchAll">
                        <addinput="{HTTP_HOST}"pattern="^www.domain.com"negate="true"/>
                        <addinput="{HTTP_HOST}"pattern="^([^.]+).domain.com"ignoreCase="false"/>
                    </conditions>
                    <actiontype="Rewrite"url="/{C:1}/{R:1}"/>
                </rule>
                <rulename="Imported Rule 2"stopProcessing="true">
                    <matchurl="^([^/]+)/(.*)$"ignoreCase="false"/>
                    <conditionslogicalGrouping="MatchAll">
                        <addinput="{THE_REQUEST}"pattern="^[A-Z]{3,9}\ /(.+)\ HTTP/"ignoreCase="false"/>
                    </conditions>
                    <actiontype="Redirect"url="http://{R:1}.domain.com/{R:2}"redirectType="Permanent"/>
                </rule>
                <rule name="Imported Rule 3" stopProcessing="true">
                    <match url="(.*)" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{HTTP_HOST}" pattern="^www.domain.ir" negate="true" />
                        <add input="{HTTP_HOST}" pattern="^([^.]+).domain.ir" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="/{C:3}/{R:3}" />
                </rule>
                <rule name="Imported Rule 4" 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:3}.domain.ir/{R:4}" redirectType="Permanent" />
                </rule>

            </rules>
        </rewrite>
</system.webServer>

 

لازم به ذکر است جهت کارکرد  اپلیکیشن .NET در ساب دامین مجازی، می بایست بعد از انجام تمامی موارد  ذکر شده در بالا، در انتها برای فلدر مربوط به ساب دامین مجازی تان  یک Virtual Directory با نام همان فلدر تعریف نمایید.

جهت دریافت راهنمایی های مربوطه به لینک زیر مراجعه نمایید.

http://support.iranhost.com/KB/a381/article.aspx?KBSearchID=0

 

Add Feedback