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;
}
.......
}
2条答案
按热度按时间xyhw6mcr1#
答案是肯定的,有一个简单的方法可以将404页面定制为HTML文件,至少在LEMP栈上是这样的。假设你没有重新组织“太多”文件,那么唯一需要做的就是创建一个文件。
说明:
如果您转到
/etc/nginx/sites-available/default.conf
并打开它,您将注意到一个类似于以下内容的块:从这一行可以看出:
root /usr/share/nginx/html;
,我的主目录是“/usr/share/nginx/html
”。如果您的主目录不同,您需要更改我提到的下一个文件路径。*请注意这一行:
error_page 404 /404.html;
,页面中间?这是指向您网站的404 HTML错误页面的路径。说明:
error_page
-指定此行与HTTP错误页面相关。404
-此页面将响应的特定HTTP错误代码。/404.html
-文件的“根目录相对”路径,包括文件名。但是,如果你转到上面的路径,你会注意到目录中没有这个名字的文件。因此,会显示默认的nginx错误页面。
要改变这一点,只需创建一个自定义HTML页面,将其作为404错误页面,并将其保存在根目录下,命名为“404.html”。然后,当404错误发生时,上述路径(
error_page 404 /404.html;
)将能够显示您的自定义页面。我很确定您可以为任何其他HTTP错误代码添加必要的“error_page”行,或者将几个错误代码路由到同一个通用错误页面(但我还没有尝试过)。另外,我很确定其他服务器类型的设置也是一样的,但同样,我还没有尝试过。
请让我知道这是不正确的(或可以做得更好),或如果这可能会导致意外的问题更远的道路。
wlsrxk512#
打开
/etc/nginx/nginx.conf
文件或相应的/etc/nginx/sites-enabled .conf文件,并在server { ... }
部分添加:然后打开
/path/to/existing/folder/404.html
并在其中粘贴:和应用更改:
sudo systemctl reload nginx