web-dev-qa-db-ja.com

customErrors = "Off"(ubuntu / mono)を使用しても、Web.configはリモートでエラーを表示しません

これが私のWeb.configファイルです:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <customErrors mode="Off" />    
        <compilation debug="true" strict="false" explicit="true />    
        <pages>
          <namespaces>
            <clear />
            <add namespace="System" />
            <add namespace="System.Collections" />
            <add namespace="System.Collections.Generic" />
            <add namespace="System.Collections.Specialized" />
            <add namespace="System.Configuration" />
            <add namespace="System.Text" />
            <add namespace="System.Text.RegularExpressions" />
            <add namespace="System.Web" />
            <add namespace="System.Web.Caching" />
            <add namespace="System.Web.SessionState" />
            <add namespace="System.Web.Security" />
            <add namespace="System.Web.Profile" />
            <add namespace="System.Web.UI" />
            <add namespace="System.Web.UI.WebControls" />
            <add namespace="System.Web.UI.WebControls.WebParts" />
            <add namespace="System.Web.UI.HtmlControls" />
          </namespaces>
          <controls>
            <add src ="~/controls/maleBed.ascx" tagPrefix ="mycontrol" tagName ="male"/>
            <add src ="~/controls/femaleBed.ascx" tagPrefix ="mycontrol" tagName ="female"/>
          </controls>
        </pages>
    </system.web>
</configuration>

CustomErrorsモードがOff(そして間違いなく大文字の「O」)に設定されていても、実際のエラーをリモートで確認する前に、このプロパティを設定するように指示するデフォルトのエラーページが表示されます。

Machine.configファイルがありません。また、Web.Debug.configとWeb.Release.configでこのcustomErrors mode = "Off"を設定しました。

誰かアイデアはありますか?

どうもありがとうございました。

編集-その表示内容:

Server Error in '/' Application

Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".

<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>


Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.

<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>
8
Thomas Clayson

答えが見つかりませんでした-Windowsベースのホスティングを取得する必要がありました。

5
Thomas Clayson

この線

<compilation debug="true" strict="false" explicit="true />

あなたのコードは間違っています。ここで修正:(最後の引用符を参照)

<compilation debug="true" strict="false" explicit="true" />
6
Lyra

Web.configファイルに変更を加えた後、実際にApacheを再起動する必要があることがわかりました...

5
Sean

それらの設定は私には正しいように見えます。

正しいweb.configファイルを見ていると確信していますか?ページディレクティブのこれらの値のいずれかをオーバーライドしていますか?

Web.config全体を投稿することを検討してください(個人情報はありません)。

編集:また、ページを表示すると何が表示されますか?

3
clifgriffin

過去2日間、Monoに本当に不満を感じていて、Windowsホスティングを利用していることを考えていますが、少なくともMVC 4 Webサイトでは、詳細なエラーを取得するには、ViewsにアクセスしてWeb.configそこに、必要なディレクティブを追加します<customErrors mode="Off"/>

メインディレクトリにあるWeb.configに追加しても、何も変わりません。

それから本当のトラブルが始まります。

0
idipous

私はいくつかの問題を抱えていました。私もLinuxにかなり慣れていません。私の場合、問題は、サイトフォルダーに必要なアクセス許可を追加しておらず、その結果、Web.configが読み取られないことでした。

デバッグのためだけに、サイトフォルダー全体に対するすべてのユーザーの完全なアクセス許可を(再帰的に)許可してみてください。

  • chmod -R ugo + rwx/your_site_root

ただし、そのような権限で本番環境に移行することはお勧めしません。

0