1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

XF 1.1 RSS URLs not working

Discussion in 'Troubleshooting and Problems' started by euantor, Mar 26, 2013.

  1. euantor

    euantor Well-Known Member

    I've recently installed XF for the first time ever on a new VPS running nginx. Everything seems to work just fine, apart from RSS. None of the RSS feed URLs work at all - I just get a nginx 404 error page. I'm pretty sure this is an issue with my vhost config, so if somebody could take a quick look at it below, I'd be extremely grateful:

    Code:
    server {
            index index.html index.php index.htm;
     
            server_name www.f1fanforums.com;
            root /var/www/f1fanforums.com/htdocs;
     
            access_log /var/www/f1fanforums.com/log/access.log;
            error_log /var/www/f1fanforums.com/log/error.log;
     
            include global/restrictions.conf;
     
            location ~ /(internal_data|library) {
                    internal;
            }
     
            location / {
                    try_files $uri $uri/ /index.php?$args;
            }
     
            location ~ \.php$ {
                    try_files $uri =404;
                    fastcgi_split_path_info ^(.+\.php)(/.+)$;
                    # With php5-fpm:
                    include fastcgi_params;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
            }
    }
    
    I also have cgi.fix_path_info set to 0 in my php-fpm/php.ini config if that helps at all.

    Thanks in advance!
     
  2. MattW

    MattW Well-Known Member

  3. euantor

    euantor Well-Known Member

    I do have APC, yes. I'm getting an actual hard 404 though which tells me it's nginx at fault not passing it to PHP-FPM.
     
  4. MattW

    MattW Well-Known Member

    Oh OK then. I'm using nginx on my dev site, and RSS is working OK.

    Code:
    server {
      server_name dev.z22se.com www.dev.z22se.com;
     
      # limit_conn limit_per_ip 16;
      # ssi  on;
     
      access_log /home/nginx/domains/dev.z22se.com/log/access.log combined buffer=32k;
      error_log /home/nginx/domains/dev.z22se.com/log/error.log;
     
      root /home/nginx/domains/dev.z22se.com/public;
     
      location / {
     
      # Enables directory listings when index file not found
      #autoindex  on;
     
      # Shows file listing times as local time
      #autoindex_localtime on;
     
      # Enable for vBulletin usage WITHOUT vbSEO installed
      #try_files            / /index.php;
     
      }
     
      location /xenforo/ {
          index index.php index.html index.htm;
          try_files $uri $uri/ /xenforo/index.php?$uri&$args;
      }
     
      location ~ ^/xenforo/(internal_data|library)/ {
      internal;
      allow 127.0.0.1;
      deny all;
      }
     
      include /usr/local/nginx/conf/staticfiles.conf;
      include /usr/local/nginx/conf/php.conf;
      include /usr/local/nginx/conf/drop.conf;
      #include /usr/local/nginx/conf/errorpage.conf;
    }
    php.conf
    Code:
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass  127.0.0.1:9000;
        #fastcgi_pass  unix:/tmp/php5-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 180;
    fastcgi_read_timeout 180;
    fastcgi_buffer_size 256k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_intercept_errors on;
     
    fastcgi_param  PATH_INFO          $fastcgi_path_info;
    fastcgi_param  PATH_TRANSLATED    $document_root$fastcgi_path_info;
     
    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_param  SCRIPT_NAME        $fastcgi_script_name;
    fastcgi_param  REQUEST_URI        $request_uri;
    fastcgi_param  DOCUMENT_URI      $document_uri;
    fastcgi_param  DOCUMENT_ROOT      $document_root;
    fastcgi_param  SERVER_PROTOCOL    $server_protocol;
     
    fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
    fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
     
    fastcgi_param  REMOTE_ADDR        $remote_addr;
    fastcgi_param  REMOTE_PORT        $remote_port;
    fastcgi_param  SERVER_ADDR        $server_addr;
    fastcgi_param  SERVER_PORT        $server_port;
    fastcgi_param  SERVER_NAME        $server_name;
     
    # PHP only, required if PHP was built with --enable-force-cgi-redirect
    fastcgi_param  REDIRECT_STATUS    200;
     
                      }
     
  5. euantor

    euantor Well-Known Member

    Ah, one key difference I can see is this line:

    try_files $uri $uri/ /xenforo/index.php?$uri&$args;

    I'll try adding that, thanks!
     
  6. euantor

    euantor Well-Known Member

    Just tried that, no luck :(
     
  7. MattW

    MattW Well-Known Member

    That could be because I'm running the forum out of /xenforo/ directory. Do friendly URLs also work on your site?
     
  8. euantor

    euantor Well-Known Member

    Yep, got full friendly URLs enabled looking like this:

    http://www.f1fanforums.com/threads/hey.11

    Works fine. I think the issue might for some reason be the .rss extension, but I'm not 100% sure why that would cause issues.
     
  9. euantor

    euantor Well-Known Member

    Actually, just fixed it. The rss extension was in my block to send caching headers. I simply removed it and left all the other extensions:

    Code:
            location ~* ^.+\.(css|js|html|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|atom...
                    access_log off;
                    log_not_found off;
                    expires max;
                    add_header Pragma public;
                    add_header Cache-Control "public, must-revalidate, proxy-revalidate";
            }
    Seems to have fixed the issue.
     
    5150 Joker, Jake Bunce and MattW like this.
  10. MattW

    MattW Well-Known Member

  11. euantor

    euantor Well-Known Member

    Yeah, thanks for the hep :D
     
    MattW likes this.

Share This Page