我一直在寻找一个简单的答案,这是一个非常漫长的时间,似乎这一点非常明显和简单,因为没有人有一个简单的,白痴证明教程.
无论如何,我想做的就是有一个单独的404.html静态页面,无论何时抛出任何错误都会加载.理想情况下,这应该仅在生产和分期中发生.
我觉得这应该是最简单的事情......但我无法弄明白.
任何帮助深表感谢.
我想切断对我网站上的子目录的访问,但我希望子目录中的任何访问都是404错误,而不是403禁止.如何实现这一目标?
我有一个HTML页面,其中引用了几个JavaScript,CSS和图像文件.这些引用是动态注入的,用户可以手动将HTML页面和支持文件复制到另一台机器.
如果缺少某些JS或CSS,浏览器会在控制台中抱怨.例如:
错误GET文件:/// E:/SSC_Temp/html_005/temp/Support/jquery.js
我需要以某种方式在HTML页面的内联JavaScript上向我报告这些错误,因此我可以要求用户首先验证是否正确复制了支持文件.
有一个window.onerror事件告诉我,页面上有一个JS错误,例如意外语法错误,但是如果发现404 Not Found错误,则不会触发.我想在任何资源类型的情况下检查这种情况,包括CSS,JS和图像.
我不喜欢使用jQuery AJAX来验证文件是否物理存在 - 每个页面加载的I/O开销都很昂贵.
错误报告必须包含缺少的文件的名称,以便我可以检查文件是核心还是可选的.
有任何想法吗?
我需要在Ruby on Rails项目中指定一个命名路由,该项目返回public/404.html页面以及404服务器响应代码.
留空不是一个选项,请不要问为什么,它只是:)它绝对必须是一个命名路由,或map.connect条目会做.
像这样的东西会很棒:
map.my_named_route '/some/route/', :response => '404'
任何人都知道什么是最简单的方法来做这样的事情.我可以创建一个呈现404.html文件的控制器方法,但认为可能有一种更清晰的方法来执行此操作.期待任何回复 - 谢谢,
艾略特
可以为蓝图设置error_handler吗?
@blueprint.errorhandler(404)
def page_not_found(error):
return 'This page does not exist', 404
Run Code Online (Sandbox Code Playgroud)
编辑:
https://github.com/mitsuhiko/flask/blob/18413ed1bf08261acf6d40f8ba65a98ae586bb29/flask/blueprints.py
您可以指定应用程序范围和蓝图本地error_handler
我已经设置了如下web.xml.我还有一个基于注释的控制器,它接受任何URL模式,然后转到相应的jsp(我在-servlet.xml中设置了它).但是,如果我转到以.html结尾的页面(并且其jsp不存在),我看不到自定义404页面(并在日志中看到以下错误).任何不以.html结尾的页面,我都可以看到自定义404页面.
如何为通过DispatcherServlet的任何页面配置自定义404页面?
还想添加,如果我将我的错误页面设置为静态页面(即.html.htm)它可以工作,但如果我将其更改为jsp(即错误.jsp),我会得到IllegalStateException.任何帮助,将不胜感激.
记录错误
Caused by: java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:606)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:124)
Run Code Online (Sandbox Code Playgroud)
调节器
@RequestMapping(value = {"/**"})
public ModelAndView test() {
ModelAndView modelAndView = new ModelAndView();
return modelAndView;
}
Run Code Online (Sandbox Code Playgroud)
web.xml中
<servlet>
<servlet-name>my_servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
Run Code Online (Sandbox Code Playgroud)
...
<servlet-mapping>
<servlet-name>my_servlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
...
<error-page>
<error-code>404</error-code>
<location>/error.html</location>
</error-page>
Run Code Online (Sandbox Code Playgroud) 我不知道这是否可能,我有一个我自己制作的图像主机.我需要对它进行一些最后的调整.
每当图像被删除或是无效的图像网址时,它应该替换为404图像,例如,如果有人添加了这个:
但这是一个无效的链接,所以我需要它来显示:
这是这样的:
替代文字http://tinypic.com/images/404.gif
我知道.htaccess可以用它来做到这一点ErrorDocument 404,但是当用户访问无效页面时我已经有了一个,所以它会显示404页面.
因此,每当用户热链接图像并且图像无效或被删除时,我都需要将其替换为404图像.
我该怎么做?
在Visual Studio 2012 RC中,当我尝试验证Web Deploy连接时,我收到以下错误消息:
ERROR_DESTINATION_NOT_REACHABLE

在服务器上启动所需的Web管理服务,并安装Web Deploy 3.0 RC.
然后使用远程桌面连接我登录服务器并检查IIS位于的日志C:\inetpub\logs\LogFiles\W3SVC1.在那里,我可以看到我尝试验证连接,因为它们包含我的IP地址:
2012-07-13 20:58:49 185.201.117.17 HEAD /msdeploy.axd site=Default%20Web%20Site 8172 - 189.10.32.194 - 404 0 2 78
Run Code Online (Sandbox Code Playgroud)
它给了我一个404.
在尝试将此工作工作了近6个小时之后(阅读了很多材料,包括IIS团队的这篇伟大的故障排除指南,题为" 使用Visual Studio解决Web部署问题和Visual Studio 2010 Web部署任务失败的相关问题" )我决定要求在这里帮助,看看是否有人知道可能是什么问题......你知道是什么导致了这个404错误吗?
如果您需要更多信息,请问我,我会提供它... :)
编辑1
昨天我还在msdeploy本地机器上尝试了以下命令,列出test服务器上调用的文件夹的内容[并且按预期工作]:
C:\Program Files\IIS\Microsoft Web Deploy V3>msdeploy -verb:dump -source:content
path=c:\test,computerName=xxxxxxxxxx.publiccloud.com.br,username=User,password=Password
Info: Using ID 'a246a13c-7777-4226-964c-fe9934c60b77' for connections to the rem
ote server.
MSDeploy.contentPath
c:\test
c:\test
c:\test\test.txt
Run Code Online (Sandbox Code Playgroud)
编辑2
经过大量的安装/重新安装操作后,当我尝试在命令行中使用VS 2012 RC甚至msdeploy发布网站时,我终于遇到了Windows Server 2008返回503 HTTP错误的问题.
看起来现在最好的事情就是彻底安装Windows Server …
iis-7 windows-server-2008-r2 http-status-code-404 webdeploy visual-studio-2012
我在共享模式下使用Azure网站托管.在完成添加自定义域的过程后,我似乎在浏览www.mydomain.com时获得了404
当我使用*.azurewebsites.net地址浏览我的网站时,它会完美呈现.我还打开了所有可用的日志记录,无法查看Web日志中的404错误或任何其他问题迹象.
要配置自定义域名,我按照此页面上的说明操作,包括将CNAME记录设置为awverify.mysite.com,并将A记录设置为门户网站中提供的IP地址.
我知道还有其他问题,比如这个或者这个,但没有一个提供符合我的http 404问题的答案.关于SO的许多问题似乎已经过时,而不是azure网站支持共享模式下的域名(我相信)
干杯罗布
我正在使用反应路由器作为root,并且"/"下的所有请求都被定向到路由器.当react路由器发现url与任何已定义的组件不匹配时,它会使用NoMatch组件进行渲染.这就解决了问题,NoMatch是渲染的,这就是我想要的,但状态代码仍然是200而不是404.当我的css或js文件放置错误的url react路由器做同样的事情时,它会响应200 !然后该页面告诉我,我的资源内容类型存在一些问题!
那么,我如何使用react路由器来处理"/"中的所有内容并仍然可以正确处理404错误(以404状态代码响应)?
反应路由器中的代码
render((
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="archived" component={App}>
<IndexRoute component={ArchivedPage}/>
<Route path="project/:projectId" component={ArchivedDetailPage}/>
</Route>
<Route path="*" component={NoMatch}/>
</Route>
</Router>
), document.getElementById('app'));
Run Code Online (Sandbox Code Playgroud)
服务方面
router.use('/', function(req, res, next) {
res.render('index-react', {
title: 'some title'
});
});
Run Code Online (Sandbox Code Playgroud) javascript frontend http-status-code-404 reactjs react-router
.htaccess ×2
javascript ×2
routing ×2
annotations ×1
azure ×1
blueprint ×1
dom-events ×1
flask ×1
frontend ×1
html ×1
iis-7 ×1
react-router ×1
reactjs ×1
routes ×1
spring ×1
web.xml ×1
webdeploy ×1