web-dev-qa-db-ja.com

WordpressのパーマリンクとNginxのリライトルールが機能しない

私のサーバーの設定は次のとおりです。

  • Nginx
  • php-fpm5

私はWordPressをセットアップしました、そしてそれはカスタムパーマリンク 'Day and name'でうまく働いています。今、私はnginxファイルで書き換えルールを設定したいのですが、それはきれいなURLで動作していません。パーマリンクを 'default'に設定すれば、ルールはうまくいきます。

また、私はデフォルトのWordPress 301リダイレクトが 'redirect_canonical'のためのフィルタを追加することから無効にします。

私の投稿URLがexample.com/2015/03/22/abc-testで、ブラウザにexample.com/2015/03/22/custom/abc-testを入力したときにexample.com/2015/03/22/abc-testの内容が表示されるようにルールを書きたいとします。

Nginxのルール:

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

Nginxの書き換え規則がWordPressのパーマリンクでどのように機能するのかを知るためには、私は援助が必要です。

1
parthvi shah

このプラグインをワードプレスで使用し、nginxルールを上書きするルールを作成します。

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

あなたがワードプレスを持っているとき、あなたはあなたのWebサーバのルールの仕事を働かせるためにデフォルトにパーマリンクを設定しなければならず、あなたがそうしたくないならあなたは上記のプラグインをインストールしてルールを書く必要があります。

1

これはWordPressのURL書き換えを扱うための簡単なNginxのvhost設定です:

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;
   }

}

NginxをWordPressで設定する方法 についての完全なガイドはこちら です。

0
Awea