2011-12-14 11 views
0

私は現在aspxウェブサイトで作業しています。私はそれの "クローン"を作りたい、つまり、同じウェブサイトを別のフォルダに入れて実行したいと思う。例えば、www.example.comをwww.example.com/temp_siteでも動かす。新しいフォルダtemp_siteを作成して、httpdocsフォルダのすべての内容をtemp_siteにコピーしますか?同じサーバーにaspxウェブサイトの「クローン」を作成する

ありがとうございます!

答えて

0

httpmoduleクラスを実装して実装することができます。以下のサンプルコード次に

public class RidirectModule : IHttpModule 

{

#region IHttpModule Members 

public void Dispose() 
{ 
    // Nothing to dispose 
} 

public void Init(HttpApplication context) 
{ 
    context.BeginRequest += new EventHandler(context_BeginRequest); 
} 

#endregion 


void context_BeginRequest(object sender, EventArgs e) 
{ 
    HttpContext context = HttpContext.Current;    
    if (context.Request.HttpMethod == "GET") 
    { 
     string query = context.Request.RawUrl; 
     if (query.Contains("/temp_site")) 
      context.Response.Redirect(query.Replace("/temp_site", "")); 
    }  
} 

}

Web.configファイルにHttpModuleをを加えることです。

0

asp.net Webアプリケーションの場合は、コンテンツ全体をコピーしてサブフォルダに入れると、binフォルダ(dllがある場所)によって問題が発生する可能性があります。これにより、同じdllを持つ2つのbinディレクトリが作成され、その問題に直面します。

ソースコードをお持ちの場合は、ソリューション内に一時フォルダを作成し、その下に必要なファイル(asp.net)を追加しないでください。共通ファイル(images/css/js/userコントロールなど)、コピーしたページを更新して既存のものを使用します。

ソースコードがない場合は、binフォルダ以外のすべてのコンテンツをコピーして、サブディレクトリに保存してください。既存のCSS/images/jsファイルを参照して、重複した項目を避けて、それらの2番目のコピーを削除する(コピーしたファイル内のCSSファイル/ Imagesへのリンクを更新することができます。ディレクトリ)

+0

ええ、それはbinフォルダのdllを使います。だから私はこれを回避することをどのように示唆していますか? – user1016313

+0

私は答えを更新しました。それを試して、あなたが得るものを見てください。そこから作業しましょう – Shyju

+0

私はすべて、htdocs以外のフォルダまでコピーしますか? – user1016313

関連する問題