为什么当我通过IE6访问aspx(例如,http://www.example.com/foo.aspx - 而不是真实网站)时,我会在IIS6中收到404错误(即“无法找到该页面”)
我已经为网站启用了脚本,我也试过启用了可执行文件。
以下是完整错误:
The page cannot be found
The page you are looking for might have been removed, had its name changed, or
is temporarily unavailable.
------------------------------------------------------------------------------
Please try the following:
Make sure that the Web site address displayed in the address bar of your
browser is spelled and formatted correctly.
If you reached this page by clicking a link, contact the Web site
administrator to alert them that the link is incorrectly formatted.
Click the Back button to try another link.
HTTP Error 404 - File or directory not found.
Internet Information Services (IIS)
------------------------------------------------------------------------------
Technical Information (for support personnel)
Go to Microsoft Product Support Services and perform a title search for the
words HTTP and 404.
Open IIS Help, which is accessible in IIS Manager (inetmgr), and search for
topics titled Web Site Setup, Common Administrative Tasks, and About Custom
Error Messages.
我可以在同一目录中找到Default.htm,所以我知道路径是正确的。我已经把它打开了(暂时)所以我知道权限是正确的。
答案 0 :(得分:61)
这可能是很多事情。我今天遇到了这个问题,因为在安装IIS(aspnet_regiis -i -enable
或同等版本)之后,.NET还没有重新初始化。
答案 1 :(得分:4)
检查运行该网站的匿名用户是否具有对foo.aspx文件的读取权限。
IIS6及更高版本使用404响应,因此不会让攻击者知道这样的文件是否存在。
答案 2 :(得分:4)
我碰巧找到了这个问题的另一个罪魁祸首。我的foo.aspx
页面引用了一个特定的母版页,该母版页对于不存在的用户控件具有<%@ Register %>
指令。删除对不存在的用户控件的引用导致我的foo.aspx
加载而不是404。
答案 3 :(得分:1)
我找到了解决方案here。 真正的问题是:
Response.TrySkipIisCustomErrors = true;
答案 4 :(得分:0)
该网站指向页面不在的其他目录。
它可能是权限,但我认为您会收到访问错误。
我假设您正在运行IIS。
答案 5 :(得分:0)
检查www.example.com是否会访问您认为的网站。
如果您使用主机标头在同一IP上托管多个网站,您可能需要仔细检查您使用的名称是否会转到您认为的网站。
答案 6 :(得分:0)
答案 7 :(得分:0)
替代解决方案(相同的错误或许原因不同)。
我在没有SQL Express的情况下安装了Visual Studio 2008 Pro,它也导致了同样的错误。使用sql express重新安装VS2008似乎已经纠正了问题,或者安装可能采取了其他措施。我确实尝试过很多次注册ASP.net,但没有运气,但这肯定是最可能的原因只是发布我的经验,因为我拉着他们的头发..
由于
答案 8 :(得分:0)
如果您注册IIS的.NET 4版本,您可能会发现它已经获得了aspx扩展的注册。如果禁止ASP.NET v4,则返回404
答案 9 :(得分:0)
我遇到过这个问题,有些客户报告了404.0,有些客户根本没有问题(同一页面)。我能够在我的机器上导航到任何页面而没有任何问题。有些客户会刷新,它会消失。我使用的是.Net 4.5.2和IIS 7.5。
查看IIS日志文件,我会看到:
sc-status sc-substatus sc-win32-status
404 0 2
sc-status.sc-substatus:404.0 - 未找到
sc-win32-status:2 - ERROR_FILE_NOT_FOUND
https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx
https://en.wikipedia.org/wiki/HTTP_404
我发现问题是我已经部署了一个新版本的网站,其中旧版本的网站通过使用Web表单模板创建项目来设置RouteConfig.cs / FriendlyUrlSetting。新版本是使用空模板创建的。现在对我来说很明显..没有URL路由。客户的计算机上的某些页面存在缓存问题(没有.aspx扩展名),并且使用清晰的浏览器数据最终解决了问题。
答案 10 :(得分:0)
当我尝试使用其他驱动器来托管我的应用时遇到了这个问题。我最终将它们移动到wwwroot文件夹,因为它在那里工作,我没有时间弄清楚为什么它不能在E:\驱动器上工作。
答案 11 :(得分:0)
我缺少 bin \ roslyn 编译器。补充说,一切正常。
答案 12 :(得分:0)
检查双引号错误。我开始在单个页面上收到404,因为我不小心遇到了这个问题:
<asp:TemplateField HeaderText="ImageURL"">
代替此:
<asp:TemplateField HeaderText="ImageURL">