PDA

View Full Version : ایجاد ساب دومین به صورت اتوماتیک برای هر کاربر



DotNet_King
یک شنبه 16 دی 1386, 00:21 صبح
با سلام

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

shahab_ksh
یک شنبه 16 دی 1386, 00:28 صبح
سوال شما تکراری اگه قبل از زدن تاپیک یه جستجو میکردی اطلاعاتی در این مورد پیدا می کردید در کل شما باید سطح دسترسی به سرور داشته باشید یعنی باید سرور داشته باشید تا بتونید این کار رو انجام بدید

DotNet_King
یک شنبه 16 دی 1386, 00:42 صبح
سرچ کردم پیدا نشد

shahab_ksh
یک شنبه 16 دی 1386, 00:47 صبح
خوب نسرچیدی

http://barnamenevis.org/forum/showthread.php?t=31681&highlight=%D8%B3%D8%A7%D8%A8+%D8%AF%D8%A7%D9%85%DB %8C%D9%86

ParsaGostar
یک شنبه 16 دی 1386, 00:51 صبح
اگر سرویس وبلاگ مد نظر شماست که به هیچ هنوان ساب دامینی بر روی iis ایجاد نمی شود و فقط بحث Url Rewriting مطرح است .

اگر سرویس آپلود مورد نظر شماست که هر کاربر بتواند در پوشه خود فایل آپلود نماید که بستگی به solution مورد نظر شما دارد هم می توانید با DNS Server , WMI کارکنید و هم می توانید با همان Url Rewrite انجام دهید .

هر کدام که مد نظر شماست بفرمایید بنده در حد توان توضیح می دهم

mehrdad201
یک شنبه 16 دی 1386, 01:11 صبح
دوست عزیز در مورد Url Rewrite یه مقدار توضیح میدید..

التبه من سرچ کردم یه چیزایی هم فهمیدم اما دوست دارم یکی از دوستان که به صورت حرفه ای باهاش کار کرده برام توضیح بده.

ممنون میشم.

ParsaGostar
یک شنبه 16 دی 1386, 01:44 صبح
یکی از راه ها :

URLRewriter.dll را به رفرنس اضافه می کنید .

مثلا می خواهید صفحات اخبار سایت شما که به صورت news.aspx?cat=X&id=Y می باشد

به صورت آدرس جداگانه و اختصاصی مثل site.com/news/x/g.htm شبیه سازی شود که یکی از دلایل مفید آن شناخته شدن راحت و سریع توسط search engine ها می باشد .

یا مثلا هر پوشه ای ازسایت شما در خواست شود ( در این مثال باید حتما فایل default.aspx در هر پوشه وجود داشته باشد حتی می تواند محتویات کد آن خالی باشد ) محتویات آن به صورت داینامیک از صفحه ای دیگر نمایش داده شود .

کافی است دستورات را در web.config تنظیم کنید :


<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/(.*)/Default\.aspx</LookFor>
<SendTo>~/Members.aspx?user=$1</SendTo>
</RewriterRule>

</Rules>
</RewriterConfig>

توضیحات بیشتر (http://www.codeproject.com/KB/aspnet/urlrewriter.aspx?msg=1725174)

chaalesh
یک شنبه 16 دی 1386, 14:16 عصر
چند آدرس :
http://www.developer.com/net/asp/article.php/3581326
http://www.codeproject.com/aspnet/URLRewriter.asp
http://weblogs.asp.net (http://weblogs.asp.net/)

یه نگاهی به این کد بنداز :

void Application_BeginRequest(object sender, EventArgs e) {

string fullOrigionalpath = Request.Url.ToString();

if (fullOrigionalpath.Contains("/Products/Books.aspx")) {
Context.RewritePath("/Products.aspx?Category=Books");
}
else if (fullOrigionalpath.Contains("/Products/DVDs.aspx")) {
Context.RewritePath("/Products.aspx?Category=DVDs");
}
}

همین تابع که توی Global.asax نوشته بشه کافیه . توی این تابع میتونی هر آدرسی رو به هر آدرسی که میخوای rewrite کنی

mehrdad201
یک شنبه 16 دی 1386, 21:49 عصر
یه راهنمای کامل در این مورد معرفی میکنید (در مورد url rewrite)

mojtaba-saleh
دوشنبه 17 دی 1386, 21:50 عصر
سلام
این کد اینجور که من فهمیدم برای تبدیل site.com/member.aspx?user=x به site.com/user/x.htm هست.


<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/(.*)/Default\.aspx</LookFor>
<SendTo>~/Members.aspx?user=$1</SendTo>
</RewriterRule>

</Rules>
</RewriterConfig>

حالا برای تبدیلش به x.site.com کدش چه جوری میشه؟

shahab_ksh
دوشنبه 17 دی 1386, 22:23 عصر
حالا برای تبدیلش به x.site.com کدش چه جوری میشه؟


از این راه برای subdomain گشتم نبود نگرد نیست

اما اگه میشد قبل از ورود به هر دامینی با هر ساب دامینی ساب دامین اون رو برگردوند شاید میشد کاری کرد

ParsaGostar
دوشنبه 17 دی 1386, 23:48 عصر
لطفا شما بگویید چه کاری می خواهید انجام دهید من راهنمایی می کنم .

بنده یک سال در این زمینه تحقیق کردم و بر روی سایت پارسا اسپیس اجرا کرده و هم اکنون کار می کند .

mojtaba-saleh
دوشنبه 17 دی 1386, 23:54 عصر
از این راه برای subdomain گشتم نبود نگرد نیست

اما اگه میشد قبل از ورود به هر دامینی با هر ساب دامینی ساب دامین اون رو برگردوند شاید میشد کاری کرد

سلام
من این روش را در PHP دیدم و امتحان کردم ولی در ASP.Net از اون اطلاعی ندارم.

shahab_ksh
سه شنبه 18 دی 1386, 00:21 صبح
البته منظور من بدون وجود ساب دامین بود ! یعنی بدون اینکه ساب دامین رو از طریق کنترل پنل اون اضافه کرده باشید مگه نه خوب با یه ریدایرکت کار حل میشد !

mojtaba-saleh
سه شنبه 18 دی 1386, 10:01 صبح
سلام
شهاب جان اتفاقا من بدون ساخته شدن ساب دومین این کار رو امتحان کردم. فقط نیاز به فعال بودن Wild Card DNS داره(در سرور لینوکس). از کد زیر در php برای ساخت ساب دومین مجازی استفاده میشه


RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^\.]+)\.yoursite\.com [NC]
RewriteCond %1 !^(www|ftp|mail)$ [NC]
RewriteRule ^$ /usermanage.php?u=%1 [L]

کدهای بالا را در سرور های لینوکس در فایلی به نام .htaccess قرار میدند و دیگه مشکلی نیست. حالا کسی از دوستان می تونه این ها رو به ASP.Net تغییر بده؟

سار
سه شنبه 18 دی 1386, 10:16 صبح
http://codebetter.com/blogs/brendan.tompkins/archive/2006/06/27/146875.aspx

اون راه حل PHP دوستمون هم داراه به همین روش عمل می کنه.

m.hamidreza
سه شنبه 18 دی 1386, 11:42 صبح
لطفا شما بگویید چه کاری می خواهید انجام دهید من راهنمایی می کنم .

بنده یک سال در این زمینه تحقیق کردم و بر روی سایت پارسا اسپیس اجرا کرده و هم اکنون کار می کند .

آدرس www.example.com/profile.aspx?myname به www.myname.example.com تبدیل بشه.



http://codebetter.com/blogs/brendan.tompkins/archive/2006/06/27/146875.aspx

این Wild Syntax رو باید از پشتیبانی Host پرسید یا از طریق کنترل پنل هم میشه فعالش کرد ؟

سار
سه شنبه 18 دی 1386, 12:46 عصر
از طریق Control Panel هم شدنیه مثل این (http://www.hostmysite.com/support/cpanel/dns/wildcard) که مال CPanle هست.
ولی در کل بستگی به سرویسی داره که می خرید، من از یکی از دوستانم که تو کار هاست هست پرسیدم و گفت که :


روی package business class 10 gigi میدم نه روی سرویسهای عادی

ParsaGostar
سه شنبه 18 دی 1386, 18:13 عصر
بر روی ویندوز

این (http://ali.parsaspace.com/util/isapi.msi) را بر روی سرور نصب کنید

در فایل httpd.ini :


[ISAPI_Rewrite]

RewriteCond Host: (?!www\.)([^.]+)\.site\.com
RewriteRule (?!/\1)(.*) /$1$2 [I,L]

یعنی هر چی آدرس مثل site.com/folder هست با آدرس ساب دامین folder.site.com هم در دسترس باشد

m.hamidreza
سه شنبه 18 دی 1386, 19:03 عصر
بر روی ویندوز

این (http://ali.parsaspace.com/util/isapi.msi) را بر روی سرور نصب کنید

در فایل httpd.ini :


[ISAPI_Rewrite]

RewriteCond Host: (?!www\.)([^.]+)\.site\.com
RewriteRule (?!/\1)(.*) /$1$2 [I,L]یعنی هر چی آدرس مثل site.com/folder هست با آدرس ساب دامین folder.site.com هم در دسترس باشد

آقا قربونت ... ولی من منظورم تو .NET بود . :چشمک:

mojtaba-saleh
سه شنبه 18 دی 1386, 21:12 عصر
لینکتون انگار اشکال داره
انگار سرور داون هست

ParsaGostar
سه شنبه 18 دی 1386, 21:24 عصر
بله ، در حال آپگرید سرور هستیم می توانید این فایل را از سایت http://www.helicontech.com دانلود کنید

shahab_ksh
سه شنبه 18 دی 1386, 23:02 عصر
ظاهرا باید حتما IP اختصاصی داشته باشید

سار
چهارشنبه 19 دی 1386, 09:32 صبح
بر روی ویندوز

این (http://ali.parsaspace.com/util/isapi.msi) را بر روی سرور نصب کنید

در فایل httpd.ini :


[ISAPI_Rewrite]

RewriteCond Host: (?!www\.)([^.]+)\.site\.com
RewriteRule (?!/\1)(.*) /$1$2 [I,L]

یعنی هر چی آدرس مثل site.com/folder هست با آدرس ساب دامین folder.site.com هم در دسترس باشد


ممکنه بیشتر توضیح بدی؟
یعنی این برنامه رو روی سرور نصب کنیم و این فایل INI رو بنویسیم(کجا؟! یعنی تو چه مسیری؟) همه چیز خود بخود حل میشه؟!
در ضمن من نتونستم فایل رو DL کنم، مسیرش رو چک کنید.

DotNet_King
چهارشنبه 19 دی 1386, 15:17 عصر
میشه بیشتر راجع به این Wild Syntax بیشتر توضیح بدید. بالاخره از رو کنترل
پنل فعال میشه یا اینکه باید از مسئولین هاستم بخواهم فعالش کنند؟
هزینه اش چقدره؟
در ضمن این فایل رو باید به چه صورت رو سرور نصب کنم؟!