dossier de redirection wordpress nginx

gentilles personnes! 🙂

J’ai migré un site Web (site WordPress) vers un autre serveur. L’installation wordpress était à l’origine dans domain.com/site/, et il y avait un fichier d’index qui redirigeait les utilisateurs vers / site /. L’installation de WP se trouve maintenant dans le dossier racine (domain.com/). Je dois faire en sorte que chaque demande adressée à domain.com/site/?p=x passe par domain.com/?p=x. J’ai essayé de nombreuses règles de localisation, mais je ne peux pas le faire fonctionner. Le mieux que je puisse faire est de redirect de domain.com/site/?p=x vers domain.com/site?p=x, et évidemment cela donne un 404.
Le serveur sur lequel se trouvait le site était apache. Maintenant, dans le nouveau serveur, j’utilise nginx. J’ai utilisé easyengine pour installer nginx, php-fpm, mysql. Création d’un site wordpress avec le plugin w3tc.

Quelqu’un peut-il m’aider? Merci

Bonne question!

Nginx est un bon choix, faites ceci dans votre nginx.conf :

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

La partie (?<= Est une assertion de type pcrepattern(3) , comme pour pcrepattern(3) , qui provient de la bibliothèque pcre qu'Apache httpd et nginx utilisent pour prendre en charge les expressions régulières.

Le return 403; est nécessaire en cas de problème de sécurité avec l'expression régulière telle qu'elle est écrite (par exemple, si elle ne fournit pas de redirection).