Saat ini, host virtual ASP.NET umumnya dapat mengikat beberapa nama domain, namun halaman yang dibuka melalui nama domain tersebut sama. Bagaimana cara membuat nama domain terikat ini masing-masing membuka halaman berbeda (yaitu, untuk mewujudkan fungsi sub-situs web)? Sebenarnya sangat sederhana, cukup 4 langkah:
1) Ikat beberapa nama domain ke host virtual; misalnya: www.abc.com , services.abc.com, support.abc.com.
2) Buat beberapa folder di direktori root situs host virtual; misalnya: layanan, dukungan, jangan buat folder www.
3) Di bawah proyek Web vs 2005, buat folder yang sama dan tambahkan file default.aspx di bawah setiap folder misalnya: layanan, dukungan.
4) Tambahkan acara Application_BeginRequest di Global.asax: protected void Application_BeginRequest(pengirim objek, EventArgs e)
{
string jumlahDomain;
string domain = Permintaan.Url.Host;
// http://localhost tidak memiliki "."
int i = domain.IndexOf('.');
jika (saya > 0)
{
// Dapatkan bagian sebelum "." pertama dari nama domain (misalnya, www.abc.com) (tidak termasuk "." pertama)
sumDomain = domain.Substring(0, i);
// Jika bukan "www", maka otomatis dialihkan ke http://www.abc.com/xxx ,
//URL di bilah alamat tidak akan menampilkan http://www.abc.com/xxx , tetapi akan menampilkan http://xxx.abc.com
if (jumlahDomain.IndexOf("www") == -1)
{
// Perhatikan, kalimat ini adalah kuncinya
HttpContext.Current.RewritePath("~/" + sumDomain + Permintaan.Url.PathAndQuery);
}
}
}
Bagaimana, sederhana sekali! Haha, ini penulisan ulang URL (HttpContext.Current.RewritePath).
URL artikel ini: http://www.cnblogs.com/anjou/archive/2006/12/23/601777.html