Po zainstalowaniu WordPressa na serwerze NGINX nie wszystko działa od razu, tak jak ma to miejsce przy instalacji na serwerze Apache.
Okazuje się, że np. wtyczka WordPress SEO by Yoast nie generuje poprawnie mapy witryny (plik XML).
Po wpisaniu w przeglądarce adresu http://example.com/sitemap.xml następuje przekierowanie na http://example.com/sitemap_index.xml, jednak zamiast mapy witryny pojawia się błąd 404.
Wtyczka WordPress SEO by Yoast sugeruje, aby w pliku konfiguracyjnym serwera NGINX dotyczącym odpowiedniej witryny dopisać:
rewrite ^/sitemap_index\.xml$ /index.php?sitemap=1 last; rewrite ^/([a-zA-Z0-9_-])\-sitemap([0-9]+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
Po dopisaniu powyższego w konfiguracji NGINX-a, mapa witryny zaczyna działać, roboty sieciowe będą w stanie jej użyć.
Jednak w przeglądarce mapa witryny nie wygląda tak jak założył to autor wtyczki WordPress SEO. XML-owa mapa witryny miała być przekształcana w czytelny dokument za pomocą pliku XSL, a konkretnie arkusza XSLT. Jednak okazuje się, że pod adresem http://example.com/main-sitemap.xsl, pod którym miał być arkusz XSLT pojawia się błąd 404.
Aby temu zaradzić należy dodać jeszcze jedną własną regułę do w konfiguracji NGINX-a:
rewrite ^/([a-z]+)\-?sitemap\.xsl$ /index.php?xsl=$1 last;
Reguły przepisywania adresów należy wpisywać pliku konfiguracyjnym w sekcji server
albo location
:
server { server_name example.com; # ... }