• 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

euantor

Well-known member
#1
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!
 

euantor

Well-known member
#3
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.
 

MattW

Well-known member
#4
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;
 
                  }
 

euantor

Well-known member
#5
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!
 

MattW

Well-known member
#7
That could be because I'm running the forum out of /xenforo/ directory. Do friendly URLs also work on your site?
 

euantor

Well-known member
#9
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.