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).