嗨,我正在尝试为应用程序引擎上的404未找到错误设置静态错误页面.
根据https://developers.google.com/appengine/docs/java/config/webxml#Error_Handlers:它说404无法自定义.
根据:https: //developers.google.com/appengine/docs/java/config/appconfig#Custom_Error_Responses它似乎也不支持404.
但是,https://groups.google.com/forum/?fromgroups =#!topic/google-appengine-java/3C-pY5ta2HQ似乎建议可以自定义404错误页面.我现在很困惑.
我在Redhat Open shift上主持了一个应用程序.我没有改变任何东西,但它开始重定向到https://www.plovist.com/app并抛出404错误.任何人都可以帮我解决这个问题吗?
在IIS 6上部署时,我正在努力解决来自asp.net mvc beta的404错误.我通过在IIS中映射.mvc在其中一个预览中工作,但这不再有效.我已经在网上阅读了奥马尔的帖子以及其他几个人,并尝试了他们的解决方案但到目前为止没有运气.
主页在IIS 6上打开没有问题,但其他404和该站点在IIS 7上运行良好.
有没有人成功将IIS.net mvc beta部署到IIS 6?如果是这样,您需要对代码和/或IIS设置进行哪些调整才能使其正常工作?
我有一个我在django工作的项目.我有很多例子:
raise Http404("this is an error")
Run Code Online (Sandbox Code Playgroud)
它为我创建了一个很好的404页面,上面写着错误消息"这是一个错误".
我现在想要创建一个自定义错误页面并让它仍然显示消息,但我无法弄清楚如何.
我确定它只是一个模板变量,我需要添加到我的自定义404模板,但我找不到任何文档.
我试图打开时收到此错误消息
/app_dev.php
An error occurred while loading the web debug toolbar (404: Not Found).
Do you want to open the profiler?
Run Code Online (Sandbox Code Playgroud)
当我点击确定时,我收到错误:
app_dev.php/_profiler/5053258a822e1
Run Code Online (Sandbox Code Playgroud)
和
404 Not found
Run Code Online (Sandbox Code Playgroud)
我正在使用nginx
非常感谢您的帮助.
编辑:这是错误日志:
[error] 18369#0: *9 open() "/var/www/Symfony/web/app_dev.php/_wdt/5056f875afc98" failed (20: Not a directory), client: 127.0.0.1, server: symfony, request: "GET /app_dev.php/_wdt/5056f875afc98 HTTP/1.1", host: "symfony", referrer: "http://symfony/app_dev.php"
[error] 18369#0: *9 open() "/var/www/Symfony/web/404" failed (2: No such file or directory), client: 127.0.0.1, server: symfony, request: "GET /app_dev.php/_wdt/5056f875afc98 HTTP/1.1", host: "symfony", referrer: "http://symfony/app_dev.php"
Run Code Online (Sandbox Code Playgroud)
编辑2:
当我尝试访问app_dev.php页面打开但没有工具栏时,当我尝试使用app_dev.php /我得到了
**Oops! …Run Code Online (Sandbox Code Playgroud) 这就是我做的.
问题是没有找到/ signalr/hubs(抛出404).
我的项目有区域,结构如下所示:
signalR的所有脚本都在Scripts文件夹中,我的SignalRTestController.cs看起来像这样:
namespace SignalRTest.Controllers
{
public class SignalRTestController : Controller
{
public ActionResult Index()
{
// Do some work here
// Broadcasting over a Hub from outside of a Hub
var context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
context.Clients.say("Hello SignalR!");
return View();
}
}
[HubName("MyHub")]
public class MyHub : Hub
{
public void Say(string message)
{
Clients.sendMessage(message);
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何我的Index.cshtml都引用了所有的javascripts和/ signalr/hubs,如下所示://其他Javascripts
script type …
我目前正在编写一些基本测试,以确保中型Django应用程序中的页面正确地进行GET和POST.但是,使用django.test.client.Client时应该不会可靠地失败.即使我的代码中存在明显错误,它也会返回302响应.
在我的app/urls.py中:
url(r'^mymodel/create/$',
views.MyModelView.as_view(),
name = 'my_model_create'),
Run Code Online (Sandbox Code Playgroud)
然后,为了有意创建500响应,我做了以下事情:
class MyModelCreateView(MyModelView, CreateView):
def post(self, request, *args, **kwargs):
print self.hello
self.object = MyModel()
return super(MyModelCreateView, self).post(request, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
显然,视图没有任何名为hello的对象.尝试通过浏览器发送请求时,这会按预期失败.
甚至还用"打印self.hello"取代了
return HttpResponse(status = 500)
Run Code Online (Sandbox Code Playgroud)
然而,我仍然得到以下内容:
#We have a model called Client, so it
#is imported as RequestClient to avoid conflicts
In [1]: from django.test.client import Client as RequestClient
In [2]: client = RequestClient()
In [3]: response = client.post("/app/mymodel/create/")
In [4]: response.status_code
Out[4]: 302
Run Code Online (Sandbox Code Playgroud)
显然,这里的问题出在键盘和主席之间,因为如果正确完成,Client()/ RequestClient()没有理由不返回500错误.甚至出现一些问题,因为我收到302个POST请求的响应而不是200个响应,但这可能是因为我们正在使用HttpRedirect.
有没有人知道这里可能存在什么问题?作为参考,我使用的是Python 2.7和Django 1.5(尽管我可能需要与Django 1.4兼容).
根据文档,这应该是相当简单的:我只需要定义handler404.目前我在做,在我的顶部urls.py:
urlpatterns = [
...
]
handler404 = 'myapp.views.handle_page_not_found'
Run Code Online (Sandbox Code Playgroud)
该应用程序已安装.相应的视图只是(目前我只想在404的情况下重定向到主页):
def handle_page_not_found(request):
return redirect('homepage')
Run Code Online (Sandbox Code Playgroud)
但这没有效果:显示标准(调试)404页面.
文档有点含糊不清:
handler404在哪里定义?文件说URLconf但是,究竟在哪里?我有几个应用程序,每个都有不同的urls.py.我能把它放进去吗?在顶部URLconf?为什么?这记录在哪里?django.http.Http404, django.http.HttpResponseNotFound,django.http.HttpResponse(用status=404)?如果出现 HTTPException,如何使用 FastAPI 重定向请求?
在 Flask 中我们可以这样实现:
@app.errorhandler(404)
def handle_404(e):
if request.path.startswith('/api'):
return render_template('my_api_404.html'), 404
else:
return redirect(url_for('index'))
Run Code Online (Sandbox Code Playgroud)
或者在 Django 中我们可以使用 django.shortcuts:
from django.shortcuts import redirect
def view_404(request, exception=None):
return redirect('/')
Run Code Online (Sandbox Code Playgroud)
我们如何使用 FastAPI 来实现这一目标?
我正在创建一个公告板系统,现在我正在为管理员实现一个"删除主题"功能.如果有人打开已删除的主题,服务器找不到它,所以它必须是404.另一方面,主题已经存在,所以我必须使用410.实现410将需要一个名为deleted_topics的新表,所以会需要更多空间.但是,410我觉得搜索引擎更好.你怎么看?我应该使用404还是410?
服务器未找到与Request-URI匹配的任何内容.没有说明该病症是暂时的还是永久性的.如果服务器通过一些内部可配置的机制知道旧资源永久不可用且没有转发地址,则应该使用410(Gone)状态代码.当服务器不希望确切地说明请求被拒绝的原因,或者没有其他响应适用时,通常会使用此状态代码.
请求的资源在服务器上不再可用,并且不知道转发地址.预计这种情况将被视为永久性的.具有链接编辑功能的客户端应该在用户批准后删除对Request-URI的引用.如果服务器不知道或无法确定条件是否是永久性的,则应该使用状态代码404(未找到).除非另有说明,否则该响应是可缓存的.
410响应主要用于通过通知接收方资源是故意不可用的以及服务器所有者希望移除到该资源的远程链接来辅助web维护的任务.这种事件对于限时,促销服务以及属于不再在服务器站点工作的个人的资源是常见的.没有必要将所有永久不可用的资源标记为"已消失"或将标记保留任何时间长度 - 这由服务器所有者自行决定.
谢谢,
seo http http-status-codes http-status-code-404 http-status-code-410