【发布时间】:2018-11-22 18:48:29
【问题描述】:
我正在使用 PHP-FastCGI 在 nginx 上运行服务器。目前我已经设置了它,以便它从我的 URL 中删除尾部斜杠并发出 301 重定向。但是,当我访问存在的目录时,“err_too_many_redirects”(如果我尝试检查诸如 site.com/images/ 或其他目录链接之类的链接是否返回 403 代码),我的服务器块如下所示:
server {
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html;
rewrite ^/(.*)/$ /$1 permanent;
error_page 404 403 /404.html;
location = /404.html {
internal;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
internal;
}
location / {
try_files $uri $uri.html $uri/ $uri/index.html $uri/index $uri/ =404;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
谁能帮我找到解决这个问题的灵魂?
【问题讨论】:
-
$uri/术语与您的rewrite规则将创建一个循环。试试:try_files $uri $uri.html $uri/index.html $uri/index =404; -
谢谢它对我有用。干杯!
标签: nginx server configuration