web-dev-qa-db-de.com

Nginx-Überschreibregelkonflikt mit WordPress-Regel für Permalinks

Problem mit Nginx-URL-Umschreibungsregeln. Ich möchte die Seite http://example.com/2015/03/23/post-title/ bedienen, wenn jemand versucht, auf http zuzugreifen : //example.com/2015/03/23/myfeed/post-title/ url. Und es sollte 200 Status zurückgeben. Ich habe versucht, die unten stehende Regel neu zu schreiben, die gut funktioniert, wenn WordPress Permalink auf Standard gesetzt ist, aber sobald ich Permalink auf Benutzerdefiniert gesetzt habe, funktioniert sie nicht mehr.

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

Andere Regel in meiner Nginx Conf-Datei ist,

location / {
   try_files $uri $uri/ /index.php?q=$uri&$args;
}

Ich vermute, meine Regel widerspricht der benutzerdefinierten Permalink-Regel von WordPress. Kann mir bitte jemand dabei helfen?

1
Rikesh

Verwenden Sie dieses Plugin in WordPress und schreiben Sie die Regel, die die Nginx-Regel überschreibt.

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

Wenn Sie WordPress haben, müssen Sie Permalink auf Standard setzen, damit Ihre Webserver-Regel funktioniert. Wenn Sie dies nicht möchten, müssen Sie das Plugin und die Schreibregel oben installieren.

1