ایجاد Subdomain اتوماتیک

arashdanger

Member
سلام
من میخوام توی یک سایت Subdomain های اتوماتیک ایجاد کنم یعنی یه سیستم مثل سیستمهای وبلاگ که توی این سیستم کابر بیاد و یه فرم پر کنه و یه subdomain به اسم او شخص درست بشه(youname.blogger.com).
حالا سئوال اینه که آیا این سیستم باید حتما یک سرور اختصاصی داشته باشه یا روی یه Shared Host هم میشه پیاده کرد؟ چون تا اونجایی که میدونم باید بتونیم روی فایل httpd.conf تغییرات ایجاد کنیم.
البته در این مورد خیلی توی اینترنت جستجو کردم ولی تقریبا هر جایی رفتم این سئوال بیجواب مونده بود!!!
 

iranexplorer.net

Active Member
سلام دوست عزیز

بله ، شما باید دسترسی به ویرایش httpd.conf داشته باشید.

قابلیت Wildcard DNS رو فعال کنید :)


موفق باشید.
 

arashdanger

Member
امید جان حق با شماست پارسال همین سئوال تو همین انجمن پرسیده شده بود ولی متاسفانه اون پستها پاک شده. ولی تا اونجایی که یادمه کسی جواب مشخصی برای این که میشه تو یه shared hosting هم اینکار رو کرد یا نه نداشت!!!
 

iranexplorer.net

Active Member
خب به هرحال باید دسترسی root به سرور داشته باشین...

حال بریم سر اصل مطلب:

باید این امکان رو به سرور Apache بدیم که Wildcard domain رو بتونه قبول کنه. کافیه در httpd.conf خط زیر رو اضافه کنیم:

کد:
<VirtualHost 111.111.111.111>
       ServerName www.domain.com
       ServerAlias domain.com
       ServerAlias *.domain.com
       DocumentRoot "/path/to/your/webroot"
       ErrorLog /path/to/your/errorlog
       <IfModule mod_dir.c>
               DirectoryIndex index.html index.php index.cgi index.pl
       </IfModule>
</VirtualHost>




که domain.com نام دامین شماست. آدرس آيپي هم تغيير ميدين :)

فایلی به نام:

کد:
.htaccess

در روت ایجاد کنید و محتویاتش رو خطوط زیر قرار بدین:

کد:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^.]+)\.yourdomain\.com$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^$ /index.php [L]

اگر دقت کنید میبینید که index.php متغیر هست و بسته به زبانی که در پروژه خودتون استفاده می کنید می تونید تغییر بدین. مثلا اگر مسیر کاری شما در زیر شاخه ی email وجود داره کافیه در کدهای بالا اینطور بنویسید:

کد:
RewriteRule ^$ /email/%1 [L]


موفق باشيد...
 

جدیدترین ارسال ها

بالا