我正在为一个项目构建一个简单的 HTTP 服务器。大多数网站都有自定义的 404 错误页面。但有时,您会看到 Firefox 吐出一个通用的 404 页面(或 405 等...)。它如何决定做什么?HTTP 响应应该是什么?“HTTP/1.0 404 NOT FOUND”就够了吗?
谢谢
我使用其他人编写的代码,偶尔我会有些困惑,在这些时候Stack Overflow会让我感到困惑.拜托,再次救我.
我们的网站允许人们上传图片,然后将其嵌入我们网站的文本中,如下所示:
<img src="http://site.com/image_script.php?p=some_image_identifier"/>
Run Code Online (Sandbox Code Playgroud)
我的问题是:
如果服务器返回"500"或"404",标识符"p"不会将我们引向图像?
我本以为它应该是"404",但那不是现在发生的事情.
我正在使用带有静态 404 页面的 lighttpd 404 错误处理程序。整个 conf 文件如下所示:
server.document-root = "/home/www/local/www/mysite/html"
url.rewrite = (
"^(.*)/($|\?.*)" => "$1/index.html",
"^(.*)/([^.?]+)($|\?.*)$" => "$1/$2.html"
)
server.error-handler-404 = "/404.html"
$HTTP["scheme"] == "http" {
url.redirect = ( "^/blog.html$" => "/blog/",
// various individual redirects
)
}
$HTTP["scheme"] == "https" {
$HTTP["url"] !~ "^/blog/admin/" {
url.redirect = ( "^/(.*)" => "http://www.mysite.com/$1" )
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我转到一个应该是 404 的地址时,我确实正确地看到了我们的 404 页面,但状态代码是 200。
该lighttpd的文档说,你应该如果使用的是静态页面得到404个状态码。
我认为我们正在使用静态页面,但是我们重定向的方式是否意味着我们实际上不是?
对不起,新手问题。
有人请帮我执行这个第一个Struts2应用程序.
web.xml`文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web- app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts2FirstProject</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter- class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
Struts.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<struts>
<package name="default" extends="struts-default">
<action name="getHello" class="anvi.Hello">
<result name="success">/success.jsp</result>
<result name="fail">/error.jsp</result>
</action>
</package>
</struts>
Run Code Online (Sandbox Code Playgroud)
anvi.hello:
package anvi;
public class Hello {
public String execute(){
System.out.println("Hello from execute");
return "success";
}
}
Run Code Online (Sandbox Code Playgroud)
控制台是:
9 Nov, 2012 6:16:54 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which …Run Code Online (Sandbox Code Playgroud) 我在这里读到了关于我在node.js中的问题的答案,但我的问题仍然存在.随着服务器socket.io,一切看起来正常,但在客户端,铬说:无法加载资源:3382/socket.io/socket.io.js:服务器与404(未找到)本地主机的状态回应
var express = require("express");
var http = require("http");
var _io = require("socket.io");
var PORT = 3382;
var app = express();
app.listen(PORT, function(){
console.log("Listening from "+PORT);
});
var server = http.createServer(app);
var io = _io.listen(server);
Run Code Online (Sandbox Code Playgroud)
有了玉我有:
script(src='/js/jquery.js')
script(src='/js/chat.js')
script(src="socket.io/socket.io.js")
Run Code Online (Sandbox Code Playgroud)
我在文件夹静态文件夹js,它工作正常.我不知道是不是因为版本(node -v show v0.8.16),我如何看到express和socket.io的版本?
我正在使用一个 asp.net mvc 应用程序。我在 web.config 中有以下条目来处理 404
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/Error/Error404" responseMode="ExecuteURL" />
</httpErrors>
Run Code Online (Sandbox Code Playgroud)
这适用于请求页面时,它重定向到我的 404 视图。但是对于丢失的图像,它也会重定向到 404 页面,即。图像的响应是 404 页面。
由于这是一个性能问题,有什么方法可以更改上述内容,以便只有“页面”中的 404 而不是图像等资源触发重定向到 404 页面?
我希望我的控制器在找不到模型时返回 404 响应,并且我想指定自定义消息,而不是默认的“ The requested controller was unable to dispatch the request.”
我尝试在reason中指定ViewModel,reasonPhrase从响应对象设置 ......似乎没有任何效果。我目前正在研究如何防止默认行为,但如果有人在我之前知道,那就太好了。(也许还有比我无论如何都能找到的更好的方法。)
这是我所拥有的,但不起作用:
$userModel = $this->getUserModel();
if (empty($userModel)) {
$this->response->setStatusCode(404);
$this->response->setReasonPhrase('error-user-not-found');
return new ViewModel(array(
'content' => 'User not found',
));
}
Run Code Online (Sandbox Code Playgroud)
谢谢。
我是PHP新手,希望你能帮我解决这个问题。如何在 PHP 中创建自定义 404 错误页面而不去任何地方或将其重定向到其他页面。
前任。 mysite.com/no-where
该页面no-where不存在。我想在该 URL 上显示带有设计的 404 错误消息。
如何获取当前 URL?我有一个错误。因为我想检查标题是否为 404。
$url = $_SERVER['REQUEST_URI'];
$array = get_headers($url);
$string = $array[0];
if(strpos($string,"200")) {
echo 'url exists';
} else {
echo 'url does not exist';
}
Run Code Online (Sandbox Code Playgroud) 我有一个PHP文件上传器,我们每天上传大约10-15个5mb图像.我在本地有图像上传器,我可以上传图像.我改变了我的php.ini中的所有设置,以确保我有正确的限制.
现在,我已将up-loader放在Windows服务器上并且它具有相同的设置,但有时(并非总是)当我上传10-15个图像时它达到97%并抛出404文档未找到错误.
有没有人有任何想法为什么会发生这种情况?我一直试图对它进行排序,这几天真的令人沮丧.我在iis上使用php 5.6.
我试图在azure app服务平台(windows机器)上部署一个角度6应用程序.该应用程序本身只是一个新的角度应用程序(从新的appname生成的基本代码).我在本教程后面添加了一些次要代码,以便使用配置文件并在vsts发布管道中利用变量替换 - 管理带有vsts的角度应用程序的设置.
这些是我对生成的应用程序所做的代码更改.在app.module.ts中
export function initializeAppSettings(appSettings: AppSettings) {
return () => appSettings.load();
}
Run Code Online (Sandbox Code Playgroud)
...
providers: [AppSettings, {
provide: APP_INITIALIZER,
useFactory: initializeAppSettings,
deps: [AppSettings],
multi: true
}]
Run Code Online (Sandbox Code Playgroud)
对于我的appsettings.ts文件
export interface AppConfiguration {
apiUrl: string;
}
@Injectable()
export class AppSettings {
static config: AppConfiguration;
constructor(private http: HttpClient) {}
load(): Promise<any> {
const appSettingsJson = environment.production ? 'assets/appsettings.json' : 'assets/appsettings.local.json';
return new Promise<any>(((resolve, reject) => {
this.http.get<AppConfiguration>(appSettingsJson)
.toPromise()
.then(result => {
AppSettings.config = result;
resolve();
}).catch(reason => {
reject(`unable to …Run Code Online (Sandbox Code Playgroud)