یکی از سؤالاتی که خیلی اینطرف و اونطرف بهش بر خوردم این قابلیتی هست که وبلاگ ها و برخی سرویس های اینترنتی به کاربران میدهند و کاربر میتونه از طریف مثلاً آدرس user.domain.com به صفحه یا بخش مربوط به خودش دسترسی پیدا کنه.
نکته اصلی این هست که اکثر دوستان یا دسترسی به سرویس دهنده ندارن (در واقع سرویس VPS یا Dedicated ندارن) یا اینکه کلاً با تنظیمات Apache و سرور های دیگه ای آشنایی ندارن. راستش برای راه اندازی چنین سرویسی اصلاً نیاز به سرویس دهنده اختصاصی نیست و روی سرویس های اشتراکی و Cpanel به راحتی میشه پیادش کرد.
برای این کار کافیه توی cpanel به بخش Domains > Subdomains برین و Subdomain ی به اصطلاح Wildcard بسازین که میشه domain.com.* و مسیر را هم پوشه Root وب سایت که عموما /public_html هست قرار بدین، حالا باید به قسمت Domains > Simple DNS Zone Editor برین و یک رکورد از نوع A به صورت .domain.com.* با آدرس IP سرورتون ایجاد کنید.
برخی مواقع باید کمی بهش وقت بدین تا DNS درست کار کنه و هر Subdomain ی را فراخونی کنید سایت اصلی باز بشه. بعد از اطمینان از این موضوع حالا کافیه ببینیم چه Subdomain ی فراخونی شده و بر اساس اون ص مورد نظر را به کاربر نشون بدیم ، هم از طریق htaccess. میشه و هم PHP که به نظر من توی این سناریو ها نسخه PHP کار را حل میکنه :
$user_name = array_shift((explode(".",$_SERVER['HTTP_HOST'])));
دوستانی که ترجیح میدن با htaccess. کار را یکسره کنن :
RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^(www\.)?[^.]+\.example\.com.*$ RewriteRule (.*) /$1 [L]
سلام.
داداش اینی که گفتی رو انجام دادم. اون کد رو هم گذاشتم تو htaccess
ولی هرچی پوشه درست میکنم میره تو صفحه اصلی سایت
به پوشه ساب دامین نمیره
روش اول را امتحان کردی ؟
میتونی توی فایل index که روی home گذاشتی چک کنی ببینی اگه subdomain هست redirect ش کنی. یعنی اگه www نبود و اون نام کاربری موجود بود redirect کنی به صفحه شخص.