0

同じページを維持しながら、.co.uk サイトから .com サイトへの 301 リダイレクトを設定したいと考えています。

したがって、mydomain.co.uk/pages/about にアクセスした人は、mydomain.com/pages/about にリダイレクトされるはずです。

ASP.NET と IIS 7.0 を使用していますが、うまくいきません。次のようにリダイレクトを含むカスタム 404 ファイルを設定してみました。

    if (HttpContext.Current.Request.Url.ToString().ToLower().Contains(".co.uk"))
    {
        HttpContext.Current.Response.Status = "301 Moved Permanently";
        HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace(
                ".co.uk",
                ".com"));
    }

しかし、/pages/about などの URL にアクセスしても、404 ページが呼び出されません。私のweb.configには次のものがあります:

<configuration>
  <system.web>
    <customErrors mode="On" defaultRedirect="404.aspx"/>
  </system.web>
</configuration>

誰でも助けてもらえますか?

4

3 に答える 3

0

global.asax の Application_BeginRequest 関数を使用することになりました。404 にリダイレクトしようとするよりもはるかにクリーン

于 2012-08-26T00:18:55.227 に答える
0

http://www.idea-r.it/Blog.aspx/asp-net-301-redirect?utm_source=rss&utm_medium=rss&utm_campaign=rssも参照してください。

それは問題に非常にうまく対処します!

于 2013-02-24T22:31:03.627 に答える
0

customErros sectionアプリケーションにエラーが発生した場合に備えて、 web.config内にアクセスします。mydomain.co.uk/pages/about に移動しようとするとエラーが発生しますか?

エラーがない場合 - customErrors は影響を受けません。この場合、 を試すことができますResponse.Redirect("mydomain.com/pages/about")

MSDN の HttpResponse.Redirect を参照してください(引用: ASP.NET は 302 HTTP ステータス コードを返すことによってリダイレクトを実行します。 )

そしてcustomErrorsセクションerrors要素を見てください

于 2012-08-25T08:24:52.113 に答える