2012-01-05 8 views
2

次の問題があります。特定のページ(http://mysite.com/Client/)にアクセスしようとするとアクセスが拒否されますエラー(403 - 禁止:アクセスが拒否されました)、最後に "Index"を使用して同じURLにアクセスしようとすると(http://mysite.com/Client/Index)、動作します! URLに「索引」がなくても機能するフォルダがたくさんあります。ASP.NET MVC 3アクセスが1台のサーバーと1つのフォルダで拒否されました

最も重要な部分は、テストサーバー(http://mysite.com:8080)で、私は両方の方法(/ Client /と/ Client/Index /)でアクセスできます。この時点では、IIS 7の問題か、何らかの理由でClient Folderにあるかどうかわかりません.Web.configに含まれている場合、または私の心が失われている場合は、

ルートは以下のとおりです。

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults 
     ); 

もう一つ:テストサーバーアプリケーションとメインサーバアプリが同じです!

誰かが私に手を差し伸べることはできますか?ありがとうございました!

P .: Web.configには承認設定がありません。

+0

global.asax.csでルートを設定するには、ルートまたはクライアント固有のルートは1つだけありますか? –

+0

web.configに承認設定を定義しましたか?そこにクライアントの検索 –

+1

あなたはクライアントコントローラを持っていますか?または単にフォルダですか? –

答えて

1

あなたの質問から、あなたはクライアントコントローラを持っていないようです。ただのフォルダです。だから、ルートが見つからないコントローラを探しているようだ。またはコントローラがありますが、アクションはありません。私はとにかく、あなたのルートにこれを追加してみてください、確認していない:このルートを追加

試してみてください:

routes.IgnoreRoute("Client/{*path]"); 

EDIT

神秘的な方法で解決
routes.MapRoute(
      "Default", // Route name 
      "{controller}/Index", // URL with parameters 
      new { controller = "Home", action = "Index"} 
     ); 
+0

私はすべてのアクションを持つClientControllerを持っています。 – thiagoprzy

+0

コントローラコードを投稿できますか?本当に興味のあるコードの –

+0

一部だけがこれです: [SmellsLikeIndex] 公共のActionResultインデックス(){ VARクライアント=新しいクライアント(); client.ClientsList =ナビゲート(false、string.Empty); リターンビュー(クライアント)。 } – thiagoprzy

0

:私が解決しようとしたが、ルートを編集しているものの、application_startイベントの前にエラーが発生していることがわかりました。だから、問題はIISにありました。

問題の理由を見つけようとしましたが、できませんでしたので、URL書き換え2.0をインストールし、「/クライアント」の要求を「/クライアント/インデックス」にリダイレクトしました。

ワイアードじゃないですか?しかし、この回避策は解決しました!

すべての回答のためのタックス!

関連する問題