<p>It turns out I had an nginx error on my server. It allowed the feed to be viewed, but not fetched remotely. My apologies!</p>
<p>In brief: I had the following lines setup in my <code>nginx.conf</code> file:</p>
<pre class="lang-bash prettyprint-override"><code># Directives to send expires headers and turn off 404 error logging.
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
           access_log off; log_not_found off; expires max;
}
</code></pre>
<p>All I had to do was remove RSS and Atom from that list.</p>
<pre class="lang-bash prettyprint-override"><code># Directives to send expires headers and turn off 404 error logging.
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
           access_log off; log_not_found off; expires max;
}
</code></pre>
<p>Everything loads now, thankfully.</p>

CC BY-SA 4.0
2023-10-12T13:12:00.870Z
Feel free to mark your own answer as "The Answer", its allowed and encouraged to help others find solved / unsolved questions. Cheers!
cherrykoda
CC BY-SA 4.0
2023-10-13T14:03:23.513Z
I can accept it as the answer in 3 hours — thanks!
nathan_393
CC BY-SA 4.0
2023-10-12T01:35:15.157Z
2023-10-12T01:35:15.157Z
nathan_393
<p>I have created an RSS and Atom feed <a href="https://craftcms.com/knowledge-base/rss-and-atom-feeds" rel="nofollow noreferrer">as specified here</a>. You can view my example feeds: <a href="https://beta.nathansnelgrove.com/feed.rss" rel="nofollow noreferrer">RSS</a> or <a href="https://beta.nathansnelgrove.com/feed.atom" rel="nofollow noreferrer">Atom</a>.</p>
<p>The files are both called feed.<code>feedtype</code>.twig, as specified. I am running Craft CMS 4.</p>
<p>As you can see from visiting both links, the feeds load in your browser, but the console says there is a 404 error. Consequently, the feeds do not validate.</p>
<p>It is worth mentioning I have set up caching as per <a href="https://nystudio107.com/blog/static-caching-with-craft-cms" rel="nofollow noreferrer">this article</a>. I don't know why that should affect anything, but I do know I don't have this problem locally with DDEV.</p>
<p>What am I doing wrong?</p>
<p>Edit: it turns out I had an nginx error on my server. It allowed the feed to be viewed, but not fetched remotely. My apologies!</p>

<rss>
RSS feed displays, but does not validate because of a 404 error
# RSS feed displays, but does not validate because of a 404 error

(Asked by: username_0 on 2023-10-11)

I have created an RSS and Atom feed [as specified here](https://craftcms.com/knowledge-base/rss-and-atom-feeds). You can view my example feeds: [RSS](https://beta.nathansnelgrove.com/feed.rss) or [Atom](https://beta.nathansnelgrove.com/feed.atom).

The files are both called feed.`feedtype`.twig, as specified. I am running Craft CMS 4.

As you can see from visiting both links, the feeds load in your browser, but the console says there is a 404 error. Consequently, the feeds do not validate.

It is worth mentioning I have set up caching as per [this article](https://nystudio107.com/blog/static-caching-with-craft-cms). I don't know why that should affect anything, but I do know I don't have this problem locally with DDEV.

What am I doing wrong?

Edit: it turns out I had an nginx error on my server. It allowed the feed to be viewed, but not fetched remotely. My apologies!

**Tags:** rss

---

## 1 answers

### Answer by username_0 on 2023-10-12. Score: 1 | Accepted answer

It turns out I had an nginx error on my server. It allowed the feed to be viewed, but not fetched remotely. My apologies!
In brief: I had the following lines setup in my nginx.conf file:
# Directives to send expires headers and turn off 404 error logging.
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
           access_log off; log_not_found off; expires max;
}

All I had to do was remove RSS and Atom from that list.
# Directives to send expires headers and turn off 404 error logging.
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
           access_log off; log_not_found off; expires max;
}

Everything loads now, thankfully.

> **Comments:**
> **username_1**: Feel free to mark your own answer as "The Answer", its allowed and encouraged to help others find solved / unsolved questions. Cheers!  
> **username_0**: I can accept it as the answer in 3 hours — thanks!  

---

