我目前正在建立自己的网站,我遇到的一件事就是丑陋的404错误页面。我在Ubuntu上运行LEMP堆栈,所以我的默认错误页面是一个nginx页面。不用说,我不喜欢默认错误页面的外观,并且想要更改它。我已经看到了各种方法,但是很多方法都与Apache(可能是相同的),.htaccess等有关。
但是,我确信必须有一种更简单的方法来做到这一点。 404页面只是一个我们应该能够编辑的简单.html页面吗?如何在不使用其他人的情况下以最简单的方式编辑默认的404页面?
答案 0 :(得分:0)
答案是肯定的,有一种简单的方法可以将404页面自定义为HTML文件,至少在LEMP堆栈上是这样。假设你没有重新组织太多"文件,唯一需要做的就是创建一个文件。
<强>解释强>
如果你转到/etc/nginx/sites-available/default.conf
并打开它,你会注意到一个类似于这个的块:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost unaviamedia.ca;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
.......
}
声明:
从这一行可以看出:root /usr/share/nginx/html;
,我的主目录是&#34; /usr/share/nginx/html
。&#34;如果您的不同,则需要更改我提到的下一个文件路径。
请注意这一行:error_page 404 /404.html;
,在页面中间?这是您网站的404 HTML错误页面的路径。
<强>解释强>
error_page
- 指定此行与HTTP错误页面相关。404
- 此页面将响应的特定HTTP错误代码。/404.html
- &#34; root-relative&#34;文件的路径,包含文件名。
但是,如果你转到上面的路径,你会发现目录中没有该名称的文件。因此,将显示默认的nginx错误页面。
要更改此设置,只需创建一个自定义HTML页面,该页面将成为您的404错误页面,并将其保存在根目录中作为&#34; 404.html。&#34;然后,上述路径(error_page 404 /404.html;
)将能够在发生404错误时显示您的自定义页面。
我相当肯定你可以添加必要的&#34; error_page&#34;您可能希望覆盖的任何其他HTTP错误代码的行,或将几个路由到同一个通用错误页面(但我没有尝试过)。另外,我非常确定其他服务器类型的设置是相同的,但我再次尝试过这个。
如果这不正确(或者可以做得更好),请告诉我,或者如果这可能会导致更远的意外问题。