مشکل در درک نحوه شناسایی ساب دومین ها در php

cazino86

New Member
خوب فرض کنید من 2 تا ساب دومین دارم به صورت زیر :
http://sub1.example.com

http://sub2.example.com

میخوام که در ساب1 خروجی you are into sub1 به نمایش در بیاد و در ساب دو هم نوشته . you are into sub2 نمایش داده بشه.

من یه نمه اطلاعاتم در مورد ساب دومین و اینکه اصلا چطور روی سرور تجزیه و تحلیل میشه کمه.وقتی که درخواست یک ساب دومین رو میکنیم به طور پیش فرض کدوم صفحه کدهاش تجزیه و تحلیل میشن؟

آیا روی سرور برای هر ساب دومین یک پوشه با نام همان ساب دومین ایجاد میشود؟

مثلا در بلاگفا وقتی که آدرس یک وبلاگ رو وارد میکنیم سرور از کجا میفهمه که برای اون وبلاگ (ساب دومین) باید چه نتایجی رو نشون بده ؟

و اینکه در مورد ساب دومین هر چیزی که میدونید به من هم یاد بدید !

جستجو هم کردم اما چیزی گیرم نیومد.
 

EMIRATES

Active Member
با سلام

دوست عزیز کاری نداره که.

شما باید یه دیتابیس کامل از مشخصات کاربر هات موقع ثبتنامشون جمع کنی.

یعنی هر یوزر مشخصات خودش مثل قالب وبلاگ - آدرس وبلاگ - نام نویسنده و.......... داشته باشه.

در اون صورت میتونی با استفاده از htaccess سابدومین های فرضی خودتو بسازی و نیازی نیست واقعا ساب دومین ساخته بشه.

بعد میتونی به ایندکس مشترک بذاری بعد توش مشخصات رو بخونه که مثال سرچ کنه نام وبلاگی رو که وارد کردید مثل felan.felan.com اگه نام felan وجود داشت اطلاعات از تیبل و رکورد های مورد نظر خونده بشه.
اگه هم نبود همچین نامی Redirect شه به Registeration Page.

با تشکر.
 

cazino86

New Member
با تشکر از شما دوست عزیز .

بذارید ببینم که درست درک کردم یا نه؟

من باید در ابتدا یک فایل ایندکس درست کنم که وقتی یک ساب دومین در خواست شد به عنوان مثال نام اون ساب دومین گرفته بشه و اطلاعات مربوط به اون ساب دومین به نمایش در بیاد.

حالا چند تا مشکل جدید ....!

1: چطور میتونم به کمک htaccess ساب دومین مجازی رو درست کنم ؟

2: وقتی که کاربر وارد کرد sub1.example.com آیا در همون آدرس اطلاعاتش نمایش داده میشن یا اینکه به آدرس example.com/index.php میره و در اونجا اطلاعاتش نمایش داده میشه؟ یا اینکه کاربر آدرس sub1.example.com رو وارد میکنه و به کمک تنظیمات موجود در htaccess اطلاعات از آدرس sub1.example.com گرفته میشن و در همون آدرس sub1.example.com اطلاعاتش نمایش داده میشن؟

اگر ممکن هست یک مثال کوچولو هم بزنید خیلی ممنون میشم.
 

EMIRATES

Active Member
با سلام

بله دوست عزیز درست درک کردید.

-------------------------------------

در جواب سوالاتتون :

1: چطور میتونم به کمک htaccess ساب دومین مجازی رو درست کنم ؟

خوب, برای ساخت ساب دومین مجازی باید از Mod Rewrite استفاده کنید ( RewriteCond و RewriteRule )

ابتدا فایل .htacces رو باز کنید.

خوب حالا براتون توضیح میدم که چطور از RewriteCond و RewriteRule برای ساخت ساب دومین استفاده کنید.

در خط اول باید با استفاده از RewriteCond نام ساب دومین وارد شده رو بگیرید.

به این صورت :

RewriteCond %{HTTP_HOST} ^([^.]+).addresesitetoon.com$

سپس برای اینکه نام ساب دومین با www یا مثال ساب دومین واقعی که در نقشه اصلی سایت هست یا... اشتباه نشه این دستور رو تایپ میکنید. (در خط بعد) به این صورت

RewriteCond %{1} !^(www|sabdomaine-asli)$

بعد از اون باید چک کنیم که ساب دومین در دیتا بیس وجود داره یا نه.

به این صورت :

RewriteCond /home/user/public_html/subdomain.php?sudomain.php?user=%1 -d

و سپس این دستور رو برای این میزاریم که تکرار صورت نگیره وقتی میخواد فایلی از روی سابدومین رو اجرا کنه.

به این صورت:

RewriteCond %{REQUEST_FILENAME} !^/home/user/public_html/subdomain.php?userfile=

و در آخر

RewriteRule (.*) /public_html/subdomain.php?user?=%1&userfile=$1 [Last]

با تشکر.
 

yakoza

Well-Known Member
من هر چی دارم فکر میکنم ربط این سوال رو به php بدونم هیچی نمی فهمم
 

cazino86

New Member
با تشکر از شما دوست عزیز...

اما یه نمه پیچیده شد واسم!

آیا من در این قسمت باید نام همه ساب دومین های واقعی خودم رو وارد کنم؟

RewriteCond %{1} !^(www|sabdomaine-asli)$

در این قسمت نام ساب دومین چطور به فایل ارسال میشه ؟ اگه نام ساب دومین از قبل ثبت شده باشه چی؟ اگر نام اون ساب دومین به صورت ساب دومین واقعی وجود داشته باشه چی؟

RewriteCond /home/user/public_html/subdomain.php?sudomain.php?user=%1 -d



اگه تکرار صورت بگیره این دستور چطور به برنامه نویس اعلام میکنه؟ یا به کاربر ؟

RewriteCond %{REQUEST_FILENAME} !^/home/user/public_html/subdomain.php?userfile=

و این دستور برای چیه؟

RewriteRule (.*) /public_html/subdomain.php?user?=%1&userfile=$1 [Last]

در کل برای همه دستورها کمی بیشتر توضیح بدید.به نظرم اگه فایل ایندکس و خود .htaccses رو به صورت نمونه بذارید درکش واسم راحت تر باشه. با تشکر از شما.
 

Webber

Well-Known Member
سلام
ببینید شما می خواین سابدومین مجازی بسازید.برای این کار کاربران ثبت نام می کنند و فقط با این کد ها شما می توانید مثلا نام کاربری را به عنوان سابدومین به کار ببرید.چون بنده عملا این کار رو نکردم نمی تونم زیاد وارد جزئیات بشم و فقط دانسته های تئوری رو عرض می کنم خدمتتون.در ضمن دوستان سرنخ هایی دادند که اگر جستجو کنید هم در همین انجمن یک بحث خوب در این مورد بود و هم در اینترنت هست.برای مثال در وبسایت wordpress MU جزئیات لازم برای این کار هست.با بررسی کد های این برنامه یا مثلا bloghosterنیز می توانید اطلاعات بیشتری کسب کنید.
به هر حال اگر خودتون بگردید زودتر به نتیجه می رسید و بهتر
موفق باشید
 

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

بالا