2

SiteUrls.configファイルに次の XML を追加しました。

    <RewriterRule>
      <SendTo>/pod/</SendTo>
      <LookFor>.*abcdefg</LookFor>
    </RewriterRule>

に行くとhttp://localhost/abcdefg、に正常にリダイレクトされhttp://localhost/podます。私のローカル ホストは IIS 7 Web サーバーです。

ただし、これとまったく同じ構成を実稼働マシンまたはステージング マシンで動作させることができません。オンのままでhttp://staging.x.com/abcdefg、404 エラーが発生します。

これを機能させるには、正確に何を設定する必要がありますか? 私がローカルに持っている IIS モジュールと、運用/ステージング システム上の IIS モジュールとの間に大きな違いがあることに気付きませんでした。

4

1 に答える 1

1

IIS 7 で拡張子のない URL をサポートするには、修正プログラムをインストールする必要がある場合があります。

ハンセルマン より:

IIS6で拡張子のない URL を取得することは以前は難しく、多くのことが書かれていました。IIS6 と ASP.NET MVC の早い段階で、すべてをマップしていました。マネージド コードに。ASP.NET ルーティングでは、拡張子のない URL 機能が作成されるまで、RAMFARR を true に設定する必要がありました。

Extentionless URL のサポートは、この KB http://support.microsoft.com/kb/980368に追加され、ASP.NET MVC 4 に同梱されています。ASP.NET MVC 4 を使用している場合は、開発マシンに Extentionless URL があります。しかし、あなたのサーバーはそうではないかもしれません。この修正プログラムをインストールするか、RAMMFAR をオンにする必要がある場合があります。回避できるのであれば、RAMMFAR をオンにするよりも、更新プログラムをインストールすることをお勧めします。Run All Modules オプションは、実際にはワイルドカード マッピングです。

于 2012-05-18T20:10:05.460 に答える