Отдельная установка Wordpress в подкаталоге Sitemap Переписать правила Nginx
У меня есть отдельная установка WordPress внутри подкаталога другой установки WordPress. Название подкаталога - "блог" (это не мультисайтовая установка). Мои правила перезаписи для nginx:
location ~ ([^/]*)sitemap(.*)\.x(m|s)l$ {
rewrite ^/sitemap\.xml$ /sitemap_index.xml permanent;
rewrite ^/([a-z]+)?-?sitemap\.xsl$ /index.php?xsl=$1 last;
# Rules for yoast sitemap with wp|wpsubdir|wpsubdomain
rewrite ^.*sitemap_index\.xml$ /index.php?sitemap=1 last;
rewrite ^.*/([^/]+?)-sitemap([0-9]+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
}
Карта сайта создается как для example.com/sitemap_index.xml, так и для example.com/blog/sitemap_index.xml, но они одинаковы и не содержат сообщений о второй установке в подкаталоге (блоге). Я понимаю, что это связано с переписыванием правил конфигурации подпапки, но я не могу понять, в чем именно проблема. Я использую плагин Yoast и установил плагины Yoast на обеих установках, т.е. на root и подпапку отдельно.
1 ответ
Я получил это работает. Таким образом, в основном проблема заключалась в правилах переписывания nginx, с которыми поставляется последняя версия easy engine. Так как он не используется по умолчанию для отдельных установок WordPress в подкаталоге, вам необходимо немного изменить эти правила.
так что поменяйте:
rewrite ^/sitemap\.xml$ /sitemap_index.xml permanent;
rewrite ^/([a-z]+)?-?sitemap\.xsl$ /index.php?xsl=$1 last;
rewrite ^.*sitemap_index\.xml$ /index.php?sitemap=1 last;
rewrite ^.*/([^/]+?)-sitemap([0-9]+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
в
rewrite ^$dir1/sitemap\.xml$ $dir1/sitemap_index.xml permanent;
rewrite ^$dir1/([a-z]+)?-?sitemap\.xsl$ $dir1/index.php?xsl=$1 last;
rewrite ^$dir1.*sitemap_index\.xml$ $dir1/index.php?sitemap=1 last;
rewrite ^$dir1.*/([^/]+?)-sitemap([0-9]+)?\.xml$ $dir1/index.php sitemap=$1&sitemap_n=$2 last;
Где $ dir1, очевидно, является вашим подкаталогом, который вы можете назначить, проверив его в блоке location.