You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 2.0 MVC应用阻止Plesk网站统计访问的解决求助

解决ASP.NET Core 2.0 MVC部署Plesk后无法访问webstat的问题

我之前也碰到过完全一样的状况——ASP.NET Core默认会接管服务器收到的所有请求,包括Plesk用来提供统计服务的plesk-stat/webstat路径,这就导致IIS把这个请求转发给了你的MVC应用,但你的应用里根本没有对应的路由配置,所以直接返回404。咱们只需要修改web.config,让这个特定路径绕过ASP.NET Core的处理就行,具体操作如下:

1. 找到并打开网站根目录的web.config

这个文件是ASP.NET Core发布时自动生成的,一般就在你上传到虚拟主机的应用根目录里。

2. 修改URL重写规则

在web.config的<system.webServer> -> <rewrite> -> <rules>节点下,添加一条优先执行的规则,告诉IIS跳过所有以plesk-stat开头的请求,不要转发给ASP.NET Core应用处理。

修改后的web.config关键部分示例如下:

<system.webServer>
  <rewrite>
    <rules>
      <!-- 新增:跳过Plesk统计路径的请求 -->
      <rule name="Skip Plesk Stat" stopProcessing="true">
        <match url="^plesk-stat/(.*)" />
        <action type="None" />
      </rule>
      <!-- 保留原来的ASP.NET Core转发规则 -->
      <rule name="ASP.NET Core" stopProcessing="true">
        <match url="(.*)" />
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="dotnet.dll" />
      </rule>
    </rules>
  </rewrite>
  <!-- 其他原有节点保持不变 -->
</system.webServer>

3. 保存并验证

  • 保存修改后的web.config,上传回虚拟主机覆盖原文件
  • 可以在Plesk控制面板里重启一下网站,或者等待IIS自动加载新配置
  • 现在访问https://example.com/plesk-stat/webstat/,应该就能正常打开Plesk的网站统计页面了

原理说明

这条新增的规则会优先检查请求URL是否以plesk-stat/开头,如果匹配成功,就直接停止后续的重写处理,让IIS把这个请求交给Plesk内置的统计服务响应,而不是转发给你的ASP.NET Core应用。这样就不会触发MVC的路由系统,自然也就不会出现404错误了。

内容的提问来源于stack exchange,提问作者jjkk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:07:40