Nginx - Php子目录文件继续重定向到主页

时间:2016-01-21 16:27:40

标签: php redirect nginx

我似乎无法在任何地方找到适用于我的在线情况的解决方案。我的nginx配置为使用bigbluebutton作为默认设置,所以我设置了mysql和php来使用大蓝色按钮位置。我已成功获取php信息文件显示在文件的根目录中,但如果我将文件放在子目录中,我将被重定向到根目录。只有.php文件在子目录中的html文件才会发生这种情况。最初我会在子目录中的php文件上获得404,但现在我打开了短标签(即使没有使用过,它将我重定向到大蓝的根...我很抱歉我是这样的菜鸟,任何帮助都是真的很感激。

server {
 listen   80;
 server_name  **.**.***.**;

 access_log  /var/log/nginx/bigbluebutton.access.log;

 # Handle RTMPT (RTMP Tunneling).  Forwards requests
 # to Red5 on port 5080
  location ~ (/open/|/close/|/idle/|/send/|/fcs/) {
      proxy_pass         http://127.0.0.1:5080;
      proxy_redirect     off;
      proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;

      client_max_body_size       10m;
      client_body_buffer_size    128k;

      proxy_connect_timeout      90;
      proxy_send_timeout         90;
      proxy_read_timeout         90;

      proxy_buffering            off;
      keepalive_requests         1000000000;
  }

 # Handle desktop sharing tunneling.  Forwards
 # requests to Red5 on port 5080.
   location /deskshare {
       proxy_pass         http://127.0.0.1:5080;
       proxy_redirect     default;
       proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
       client_max_body_size       10m;
       client_body_buffer_size    128k;
       proxy_connect_timeout      90;
       proxy_send_timeout         90;
       proxy_read_timeout         90;
       proxy_buffer_size          4k;
       proxy_buffers              4 32k;
       proxy_busy_buffers_size    64k;
       proxy_temp_file_write_size 64k;
       include    fastcgi_params;
   }

# BigBlueButton landing page.
    location / {
      try_files $uri $uri/ /index.html;        
      root   /var/www/bigbluebutton-default;
      index index.php index.html index.htm;
  expires 1m;
    }

# Include specific rules for record and playback
    include /etc/bigbluebutton/nginx/*.nginx;

    error_page  404  /404.html;

    # Redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
            root   /var/www/nginx-default;
    }

location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME     
            $document_root$fastcgi_script_name;
            include fastcgi_params;

    }
}

1 个答案:

答案 0 :(得分:1)

您似乎没有为root阻止设置location ~ \.php$。如果您有许多location块的公共根,则应该将root指令向上移动到周围的server块。喜欢这个片段:

root /var/www/bigbluebutton-default;

location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.html;        
    expires 1m;
}
location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    ...
}