28

私はこれが数回答えられたことを知っていますが、どの解決策も私にはうまくいきませんでした。ASP.NET MVC 3アプリケーション(変更を加えていない単なるインターネットテンプレート)を公開して、公開して機能させることができるかどうかを確認しました。ただし、サイトにアクセスすると、403エラーが表示されます。php / linuxのバックグラウンドから来ているので、私は混乱していて、どこを見ればよいのかわかりません。.NETを学習してから約8〜9か月で、以前にテストしたものはすべて、VS2010を介してローカル開発サーバー上にありました。サーバーがMVCアプリケーションである必要があることを認識していないか、ルーティングを変更する必要があるようです。

とにかく、サーバー設定が.NET4であることを確認しました。助けていただければ幸いです。

また、arvixeを使用した共有ホスティング環境です。

4

7 に答える 7

55

私にとっては、これでうまくいきました( IIS 7.0 / Windows Server 2008でASP.NET MVC 3アプリの404.0エラーを取得する際のMmerrellによる元の回答)

実際、ここの環境でこの問題を修正する必要があることを思い出させてくれました。あなたの状況が私の状況と同じなら、それは簡単な修正です。

以下を Web 構成に追加するだけです。

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 

アプリケーション用に作成された App-Pool ではなく、「ASP.Net 4.0」App-Pool を選択していることを確認してください。アプリ プールが NetworkService ではなく "ApplicationPoolIdentity" を使用していることを確認してください。ルート フォルダーから NetworkService 権限を削除します。あなたはそれを必要としません。IIS には組み込みの ID (IIS_IUSRS) があります。

于 2012-07-19T06:40:27.477 に答える
4

403は禁止されたエラーです。展開したフォルダーのNTFSアクセス許可を確認し、Network Serviceユーザーに読み取りアクセス許可があることを確認してください

ここに画像の説明を入力してください

さらに、IISアプリケーションの認証および承認メカニズムを確認してください。

ここに画像の説明を入力してください

編集:

.Net認証ルール

ここに画像の説明を入力してください

于 2012-06-15T00:30:42.763 に答える
4

FTP パブリッシングを使用して MVC 4 Web サイトをリモート サーバーにパブリッシュした後、同じ問題が発生しました。私にとってうまくいったのは、Visual Studioを介して公開した後、リモートサーバー上のIISにログオンし、公開されたディレクトリを見つけて->右クリック->アプリケーションに変換することでした。

サーバーにアクセスできない場合、web.config/properties でこれを指定する方法があるかどうかわかりませんか?

于 2012-10-03T00:49:42.483 に答える
3

1-アプリケーションが.NET4.0で実行されていることを確認します(実行しました)

2-ホスティングプランでMVC3フレームワークをサポートしていることをホスティング会社に確認します。

3-(動作)ビン-MVCランタイムライブラリをデプロイして、サーバーの要件を克服できるようにします。

その他の試合のbin-ASP.NETMVCの展開はここで見つけることができます:http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

4-「ネットワークサービス」にフォルダへの適切なアクセス権があることを確認します。基本的に「読み取り」権限が必要です。

于 2012-06-15T00:32:49.537 に答える
2

を忘れないでくださいaspnet_regiis.exe -ir

于 2015-04-27T14:15:18.447 に答える
1
<handlers>
  <add name="rewrite" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
</handlers>

ホスティング プロバイダーに、このハンドラーを webconfig に追加するよう依頼してください

于 2014-10-10T16:37:53.990 に答える
0

アプリケーション プールのマネージド パイプライン モードを「統合」ではなく「クラシック」に変更してみてください。あなたが求めているのは最終結果ではないかもしれませんが (統合モードを使用することには本当の利点がある可能性があります)、少なくとも正しい方向に向けることができます...それが機能する場合.

于 2013-09-09T12:54:01.820 に答える