drupal rss.xml not found


На днях заглянул в разросшийся error.log nginx’a и обнаружил там ошибки вида:

2013/01/08 09:31:40 [error] 17320#0: *13628 open() "...htdocs/rss.xml" failed (2: No such file or directory), client: 74.125.182.34, server: www.prolinux.org, request: "GET /rss.xml HTTP/1.1", host: "www.prolinux.org"

Это Google пытается достучаться до стандартной друпаловской rss’ки и не может.

Виной тому следующий location в конфиге nginx:

        location ~* \.(js|css|rdf|xml|ico|txt|gif|jpg|png|jpeg|html)$ {
                root   ...htdocs/;
                access_log  off;
        }

Эта конфигурация обслуживает статические файлы, а в Drupal rss.xml генерится динамически, что и вызывает ошибку.

Для её исправления нужно перед этими строками указать новый location:

location = /rss.xml {
  rewrite ^ /index.php?q=rss.xml;
}

Контрольный ** sudo service nginx reload** и проблема решена.

Ссылка на источник.

comments powered by Disqus