nginx 重写或内部重定向循环,同时内部重定向到 /index.html

nginx 重写或内部重定向循环,同时内部重定向到 /index.html

我知道这个问题已经被发布过很多次了,但是即使有这些答案的帮助,我似乎仍然无法解决这个问题。

我是一名自由职业网页开发人员,刚刚开始维护和管理现有的 vBulletin 论坛网站。该网站已有数十万会员和数百万帖子,因此为了避免灾难,我认为我应该设置一个开发环境来工作,而不是在实际生产网站上乱搞。

但是作为 nginx(用于生产中的服务器)的完全新手,我无法弄清楚为什么我会不断收到标题中提到的错误。

这是该网站的配置文件:

server {
    listen   80; ## listen for ipv4; this line is default and implied

    root /home/bolt/domains/bolt.cd/public_html;
    index forum.php index.html;

    # Make site accessible from http://localhost/
    server_name bolt.cd www.bolt.cd;

    location / {
    #    try_files $uri $uri/ /index.php;
    }

    location /board/ {
        rewrite ^/board/((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ /board/vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 last;
        try_files $uri $uri/ /board/vbseo.php?$args;
        access_log off;
    }

    location /board/vbseo/(packages|vb|includes|resources/html|resources/xml)/ {
        allow 127.0.0.1;
        deny all;
    }

#   location ~ /board/(.*\.php)$ {
#       rewrite ^/board/(.*)$ /board/vbseo.php last;
#   }

    location /board/(neverfind-72891|modareaz-3782|install)/ {
        auth_basic "Private";
        auth_basic_user_file /home/bolt/.htpasswd;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index forum.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param QUERY_STRING $query_string;
        fastcgi_param REQUEST_METHOD $request_method;
        fastcgi_param CONTENT_TYPE $content_type;
        fastcgi_param CONTENT_LENGTH $content_length;
        fastcgi_intercept_errors on;
        fastcgi_ignore_client_abort off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffers 256 16k;
        fastcgi_buffer_size 32k;
        fastcgi_temp_file_write_size 256k;
    }

    location = /robots.txt { access_log off; log_not_found off; }
    location = /favicon.ico { access_log off; log_not_found off; }
    location ~ /\. { deny all; }
}

并且每个对 {root url}/board 的请求都会返回 500 错误页面,并记录以下内容/var/log/nginx/error.log

2016/10/26 07:31:37 [error] 4760#0: *4 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: 10.0.2.2, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "localhost:6544", referrer: "http://localhost:6544/board"

我很确定我已经正确安装了 PHP-FPM,虽然这可能是一个问题,或者配置php.ini文件的问题,但我很确定错误出在 nginx 配置文件的某个地方。

MTIA 对这个令人沮丧的问题提供任何帮助!:-)

相关内容