linux – 当根目录不存在时,为nginx创建一个回退错误页面
发布时间:2020-12-13 17:00:36 所属栏目:Linux 来源:网络整理
导读:我在我的nginx服务器上设置了任何域配置 – 以减少我打开新站点/域时所需的工作量.这个配置允许我简单地在/usr/share / nginx / sites /中创建一个文件夹,其中包含域名/子域名,然后它才能正常工作. server { # Catch all domains starting with only "www."
我在我的nginx服务器上设置了任何域配置 – 以减少我打开新站点/域时所需的工作量.这个配置允许我简单地在/usr/share / nginx / sites /中创建一个文件夹,其中包含域名/子域名,然后它才能正常工作.
server { # Catch all domains starting with only "www." and boot them to non "www." domain. listen 80; server_name ~^www.(.*)$; return 301 $scheme://$1$request_uri; } server { # Catch all domains that do not start with "www." listen 80; server_name ~^(?!www.).+; client_max_body_size 20M; # Send all requests to the appropriate host root /usr/share/nginx/sites/$host; index index.html index.htm index.php; location / { try_files $uri $uri/ =404; } recursive_error_pages on; error_page 400 /errorpages/error.php?e=400&u=$uri&h=$host&s=$scheme; error_page 401 /errorpages/error.php?e=401&u=$uri&h=$host&s=$scheme; error_page 403 /errorpages/error.php?e=403&u=$uri&h=$host&s=$scheme; error_page 404 /errorpages/error.php?e=404&u=$uri&h=$host&s=$scheme; error_page 418 /errorpages/error.php?e=418&u=$uri&h=$host&s=$scheme; error_page 500 /errorpages/error.php?e=500&u=$uri&h=$host&s=$scheme; error_page 501 /errorpages/error.php?e=501&u=$uri&h=$host&s=$scheme; error_page 503 /errorpages/error.php?e=503&u=$uri&h=$host&s=$scheme; error_page 504 /errorpages/error.php?e=504&u=$uri&h=$host&s=$scheme; location ~ .(php|html) { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_intercept_errors on; } } 但是,有一个问题我想解决,那就是当一个域名在sites目录中没有文件夹时,nginx会抛出一个内部500错误页面,因为它无法重定向到/errorpages/error.php它不存在. 如何创建可以捕获这些失败请求的回退错误页面? 解决方法
下面的代码应该可以解决您的问题
http { server { error_page 404 http://www.mywebsite.com/error.php; error_page 500 http://www.mywebsite.com/error.php; } ................ ................ } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |