私は現在aspxウェブサイトで作業しています。私はそれの "クローン"を作りたい、つまり、同じウェブサイトを別のフォルダに入れて実行したいと思う。例えば、www.example.comをwww.example.com/temp_siteでも動かす。新しいフォルダtemp_siteを作成して、httpdocsフォルダのすべての内容をtemp_siteにコピーしますか?同じサーバーにaspxウェブサイトの「クローン」を作成する
ありがとうございます!
私は現在aspxウェブサイトで作業しています。私はそれの "クローン"を作りたい、つまり、同じウェブサイトを別のフォルダに入れて実行したいと思う。例えば、www.example.comをwww.example.com/temp_siteでも動かす。新しいフォルダtemp_siteを作成して、httpdocsフォルダのすべての内容をtemp_siteにコピーしますか?同じサーバーにaspxウェブサイトの「クローン」を作成する
ありがとうございます!
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をを加えることです。
asp.net Webアプリケーションの場合は、コンテンツ全体をコピーしてサブフォルダに入れると、binフォルダ(dllがある場所)によって問題が発生する可能性があります。これにより、同じdllを持つ2つのbinディレクトリが作成され、その問題に直面します。
ソースコードをお持ちの場合は、ソリューション内に一時フォルダを作成し、その下に必要なファイル(asp.net)を追加しないでください。共通ファイル(images/css/js/userコントロールなど)、コピーしたページを更新して既存のものを使用します。
ソースコードがない場合は、binフォルダ以外のすべてのコンテンツをコピーして、サブディレクトリに保存してください。既存のCSS/images/jsファイルを参照して、重複した項目を避けて、それらの2番目のコピーを削除する(コピーしたファイル内のCSSファイル/ Imagesへのリンクを更新することができます。ディレクトリ)
ええ、それはbinフォルダのdllを使います。だから私はこれを回避することをどのように示唆していますか? – user1016313
私は答えを更新しました。それを試して、あなたが得るものを見てください。そこから作業しましょう – Shyju
私はすべて、htdocs以外のフォルダまでコピーしますか? – user1016313