2

ブログが別のドメインに移動されたため、存在しないすべてのページを別のドメインにリダイレクトしようとしています。

したがって、 www.mydomain.com / blog/asdfはblog.mydomain.com/blog/asdfにリダイレクトする必要があります

Intelligencia URLRewriterモジュールを使用すると、blog /をリダイレクトできますが、blog /何かを実行すると、404が返されます。

このような正規表現のない単純なルールを使用しても、ブログフォルダの下では何も機能しません

<rewrite url="~/blog/^" to="http://blog.softwaresynergy.com/blog/" />

また、これを試して、すべてのリクエストを強制的にハンドラーに送信しました

<modules runAllManagedModulesForAllRequests="true">

blog /の下にあるすべてのものをピックアップして他のドメインにリダイレクトする方法についてのアイデアはありますか?

4

4 に答える 4

0

URL書き換えでは、他のドメインまたはサブドメインのパスを書き換えることはできません。global.asaxで次のコードを使用して、URLをリダイレクトできます。

void Application_BeginRequest(object sender, EventArgs e)
{
    string path = Request.Path;
    if (path.Contains("blog/"))
    {
        HttpContext.Current.Response.Redirect("http://blog.softwaresynergy.com/blog/");
    }
}
于 2012-09-24T14:29:10.487 に答える
0

次のリダイレクトルールを試してください。

<redirect url="^/blog/(.+)$" to="http://blog.softwaresynergy.com/blog/$1" />

他の書き換えルールの一番上に置くと、最初に実行されるので、うまくいくはずです。

于 2012-09-23T16:26:44.790 に答える
0

別の方法で変更を行いました。元のサイトを php のままにし、正常に動作する php rewrite を使用してリダイレクトを行いました。

ドメインnew.mydomainでaspxサイトを作成しました

理想的ではありませんが、今のところうまくいきました。

于 2012-10-02T21:50:51.103 に答える
0

カスタム 404 ページを使用します。

<system.webServer>
    <httpErrors existingResponse="Replace" errorMode="Custom">
      <remove statusCode="404"/>
      <error statusCode="404" path="/Custom404.aspx" responseMode="Redirect"  />

<customErrors mode="On">
            <error statusCode="404" redirect="/custom404.aspx" />

custom404 ページ内に、リダイレクトを行うコードを配置します。エラーの原因となったパスを取得するには、おそらく...

Request.QueryString("aspxerrorpath");
Request.UrlReferrer;

アクセスしようとしていたパスを取得したら、リダイレクトを実行します。

Response.Redirect(NEW_SITE + PATH, true);
于 2012-09-28T18:16:26.380 に答える