更新到Ubuntu 16.04后的ERR_TOO_MANY_REDIRECTS

时间:2017-09-22 11:59:54

标签: ubuntu redirect nginx drupal server

更新到Ubuntu 16后,我的网站现在出现ERR_TOO_MANY_REDIRECTS问题。该网站在升级之前运行良好(正在运行Drupal)。 NGINX -t返回语法没问题且测试成功。从备份中恢复也无法解决问题。

下面我有我的网站启用文件

server {
server_name example.com www.example.com;
return 301 $scheme://www.example.com$request_uri;
root /root/to/dir;

location = /favicon.ico {
    log_not_found off;
    access_log off;
}

location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
}

# Very rarely should these ever be accessed outside of your lan
location ~* \.(txt|log)$ {
    allow 192.168.0.0/16;
    deny all;
}

location ~ \..*/.*\.php$ {
#    return 403;
}

location ~ sites/default/files/.*php {
#   return 403;
}

location ~ ^/sites/.*/private/ {
#    return 403;
}

# Allow "Well-Known URIs" as per RFC 5785
location ~* ^/.well-known/ {
    allow all;
}

# Block access to "hidden" files and directories whose names begin with a
# period. This includes directories used by version control systems such
# as Subversion or Git to store control files.
location ~ (^|/)\. {
    return 403;
}

location / {
    # try_files $uri @rewrite; # For Drupal <= 6
     try_files $uri /index.php?$query_string; # For Drupal >= 7
}

location @rewrite {
    rewrite ^/(.*)$ /index.php?q=$1;
}

location ~* /sites/.*/files/styles/ {
        access_log off;
        expires 30d;
        try_files $uri @rewrite;
}

# Don't allow direct access to PHP files in the vendor directory.
location ~ /vendor/.*\.php$ {
    deny all;
    return 404;
}

# In Drupal 8, we must also match new paths where the '.php' appears in the middle,
# such as update.php/selection. The rule we use is strict, and only allows this pattern
# with the update.php front controller.  This allows legacy path aliases in the form of
# blog/index.php/legacy-path to continue to route to Drupal nodes. If you do not have
# any paths like that, then you might prefer to use a laxer rule, such as:
#   location ~ \.php(/|$) {
# The laxer rule will continue to work if Drupal uses this new URL pattern with front
# controllers other than update.php in a future release.
location ~ '\.php$|^/update.php' {
    fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
    #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_intercept_errors on;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
}

# Fighting with Styles? This little gem is amazing.
#location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6
location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7
    try_files $uri @rewrite;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    expires max;
    log_not_found off;
}

}

我知道这是一个无限循环的重定向,但我找不到罪魁祸首。

我的错误日志显示如下:

"2017/09/13 07:21:33 [error] 3478#3478: *235 directory index of "/root/to/dir/" is forbidden, client: 100.00.000.000, server: _, request: "HEAD / HTTP/1.0"

看起来这是一个权限问题,但目录设置为755

从返回301中删除$ scheme //显示地址为website.com/website.com/......website.com并返回414 URI太大

非常感谢任何帮助

由于

0 个答案:

没有答案