Ste*_*nal 6 linux debian configuration nginx web-server
我在我的 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;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我想解决一个问题,那就是当站点目录中没有文件夹的域时,nginx 会抛出一个内部 500 错误页面,因为它无法重定向到,/errorpages/error.php
因为它不存在。
如何创建一个回退错误页面来捕获这些失败的请求?
小智 0
下面的代码应该可以解决您的问题
http {
server {
error_page 404 http://www.mywebsite.com/error.php;
error_page 500 http://www.mywebsite.com/error.php;
}
................
................
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3951 次 |
最近记录: |