0

私はこの質問が何度も聞かれ、何度も答えられたことを知っていますが、昨日私のコードがプロダクションサーバーと開発マシンの両方で機能していたので、私はいくつかの本当に奇妙な状況に遭遇しましたが、今日私のサイトを実行しようとしたとき、 404で笑っていた

IISで何も変更できずに、サイトの元のページへのSEO対応URLのルーティング/書き換えでスタックしています。最初に、開発マシン(Windows Server 2008、IIS 7)で動作するUrlRewriter.NETを使用しようとしましたが、404エラーがスローされたため、ステージングサーバー(Windows Server 2003 R2、IIS 6)では動作しませんでした。それから私はUrlRewriting.NETを使おうとしましたが、これも私が覚えているのと同じことをしました。

編集:UrlReWriting.NETを使用しようとすると、Visual Studio ASP.NET開発サーバーでは機能しましたが、IISでは機能しませんでした

次に、同僚と少し検索して、URL書き換えの代わりにURLルーティングを使用するように説得したので、Global.asax内の次のコードを使用してASP.NETURLルーティングを開始しました。

    protected void Application_Start(object sender, EventArgs e)
    {
        RegisterRoutes(RouteTable.Routes);
    }

    void RegisterRoutes(RouteCollection routes)
    {
        routes.MapPageRoute("GalleryCategory", "Gallery/", "~/Gallery.aspx");
        routes.MapPageRoute("Gallery", "Gallery/{*image}", "~/Gallery.aspx");
    }

そして、はい、私もweb.configで以下の解決策を試しましたが、役に立たなかった

    <modules runAllManagedModulesForAllRequests="true">
      <remove name="UrlRoutingModule"/>
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </modules>

しかし、それらはすべての404で私をどこにも置き去りにしませんでした。

PS。私のサイトにはSEO対応のURLが必要なページが1つしかなく、ページ名はGallery.aspxで、PathInfo/QueryStringパラメーターは動的です。

重要:私の本番サーバーはIIS6を搭載したWINDOWSSERVER 2003であり、開発マシンはWINDOWS SERVER 2008IIS7です。

4

2 に答える 2

0

クレイジーに聞こえるかもしれませんが、文字通り髪を探して引っ張った後、私はそれを試してみて、ほぼ30のWebサイトを実行している本番IISをリセットしました(IISリセットを含むクレイジーなことを試してみたがらなかった理由ですが、結局のところIISをリセットするだけで、コマンドを使用してトリックを実行したことがわかります。iisreset

于 2013-03-03T16:19:35.430 に答える
0

パラメータには、グローバルファイルのアプリケーション開始でこのルーティングコードを使用します。例:www.domain.com/gallery/imgFile1/

void Application_Start(object sender, EventArgs e) 
{
    Routes.MapPageRoute("GalleryFile", "Gallery/{CatID}", "~/Gallery.aspx");
}

ギャラリーカテゴリページの書き換えについては、次のコードをWeb.Configに配置します。

<system.web>
<urlMappings enabled="true">
<add url="~/Gallery/"  mappedUrl="~/Gallery.aspx" />
</urlMappings>
</system.web>
于 2013-03-03T09:16:23.397 に答える