web-dev-qa-db-fra.com

Les liens permanents Wordpress et la règle de réécriture Nginx ne fonctionnent pas

La configuration de mon serveur est la suivante:

  • Nginx
  • php-fpm5

J'ai mis en place WordPress et ça fonctionne très bien avec le permalien personnalisé 'Jour et nom'. Maintenant, je veux définir la règle de réécriture dans le fichier nginx et cela ne fonctionne pas avec une URL propre. Si je règle les permaliens sur 'default', la règle fonctionne correctement.

De plus, je désactive la redirection par défaut de WordPress 301 en ajoutant un filtre pour 'redirect_canonical'.

Supposons que mon URL de publication soit example.com/2015/03/22/abc-test et que je veuille écrire une règle de sorte que si je saisis example.com/2015/03/22/custom/abc-test dans le navigateur, il devrait afficher le contenu de example.com/2015/03/22/abc-test

Règle Nginx:

location ~* ^(.*)/custom(.*)$ {
    rewrite ^(.*)/custom(.*)$ $1$2 last;
}

J'ai besoin d'aide pour savoir comment les règles de réécriture de Nginx fonctionnent avec le permalien WordPress.

1
parthvi shah

Utilisez ce plugin dans wordpress et écrivez une règle qui écrasera la règle nginx.

https://wordpress.org/plugins/rewrite/

Lorsque vous utilisez wordpress, vous devez définir permalink sur default pour que votre règle de serveur Web fonctionne. Si vous ne le souhaitez pas, vous devez installer le plug-in ci-dessus et écrire la règle.

1
Vikram Mandaviya

Voici une configuration simple de Nginx vhost pour travailler avec la réécriture d’URL WordPress:

server {
   listen 80;
   server_name example.com;
   root "/var/www/staging/example";
   index index.php;
   location / {
      try_files $uri $uri/ /index.php?$args;
   }

   location ~ \.php$ {
     include snippets/fastcgi-php.conf;
     fastcgi_pass unix:/var/run/php7.0-fpm.sock;
   }

}

Il existe un guide complet sur la façon de configurer Nginx avec WordPress ici .

0
Awea