папка перенаправления wordpress nginx

милые люди! :)

Я перенес веб-сайт (сайт WordPress) на другой сервер. Первоначально установка WordPress находилась в домене domain.com/site/, и у нее был индексный файл, который перенаправлял пользователей на /site/. Теперь установка WP находится в корневой папке (domain.com/). Мне нужно, чтобы каждый запрос на domain.com/site/?p=x направлялся на domain.com/?p=x. Я перепробовал множество правил определения местоположения, но не могу заставить его работать. Лучшее, что я мог сделать, это перенаправить с domain.com/site/?p=x на domain.com/site?p=x, и, очевидно, это дает 404.
Сервер, на котором находился веб-сайт, был apache. Сейчас на новом сервере использую nginx. Я использовал easyengine для установки nginx, php-fpm, mysql. Создал сайт на wordpress с плагином w3tc.

Кто-нибудь может мне помочь? Спасибо


person Desarrollos    schedule 05.07.2016    source источник


Ответы (1)


Отличный вопрос!

Nginx — хороший выбор, сделайте это в своем nginx.conf:

location /site {
    rewrite ^/site/?((?<=/).*)?$    /$1 redirect;
    return  403;
}

Часть (?<= представляет собой утверждение ретроспективного просмотра в соответствии с pcrepattern(3), т.е. из библиотеки pcre, которая и Apache httpd, а также nginx использовать для поддержки регулярные выражения.

return 403; необходим в случае, если существует проблема безопасности с написанным регулярным выражением (например, если оно не обеспечивает перенаправление).

person cnst    schedule 06.07.2016
comment
Спасибо кнст! :) - person Desarrollos; 06.07.2016