XF 1.1 RSS URLs not working


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:

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) {
        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!
Oh OK then. I'm using nginx on my dev site, and RSS is working OK.

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)/ {
  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;

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    #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;
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:

        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.
Top Bottom