13

ということで、昨日ワードプレスを「/root」ディレクトリにインストールする方法について質問がありました。私はそれであまり成功していませんでした。

そのため、現在、ワードプレスは「/var/www/wordpress」(別のフォルダーの下にあるため)フォルダーの下にあります(問題がある場合は、Ubuntu 12.04 LTSを使用しています)。

そして、私の問題は、すべてを構成した直後に(すべてが魅力的に機能していた)、管理パネルページにリダイレクトされたことです。ブログにアクセスしようとした瞬間まで、すべてが正常に機能していました。

私のブログの URL アドレスは「blog.mysite.com」です。1 つのサーバーに 2 つの異なるアプリケーション (および環境) があり、それらを区別する必要があるため、NGINX を使用するのはそのためです。

実際のところ、blog.mysite.com/wp-admin (/wp-login.php) はまったく問題なく動作していますが、フロント ページのblog.mysite.comにアクセスすると、エンドレス リダイレクト ループ (nginx アクセス ログ ファイルによると 301 リダイレクト)。

管理パネルでは、「WordPress アドレス (URL)」と「サイト アドレス (URL)」の両方を「http://blog.mysite.com」に設定しています。「 http://blog.mysite.com/wordpress 」のように、それらのいずれかを別のものに変更しても、まったく役に立ちません!

「.htaccess」ファイルは空ですが、デフォルトのパーマリンクを使用しているので問題ないはずです (ただし、よくわかりません)。

nginx と apache2 の両方のルート ディレクティブが「/var/www/wordpress」を指しています。問題がある場合は、静的ファイル (css、js) が機能しています。

この問題を解決するにはどうすればよいですか? どんな助けでも大歓迎です!

前もって感謝します!

4

6 に答える 6

9

最後に、解決策を見つけました:

http://www.violato.net/blog/php/88-wordpress-did-infinite-301-redirect-loop

これが私と同じ問題を抱えている他の人の助けになることを願っています。

みんな、ありがとう。

于 2013-11-15T07:04:40.197 に答える
6

Nginx を Apache のリバース プロキシとして使用すると、同様の問題が発生しました。

数時間後、実際の URL ではなく Nginx によって$_SERVER["REQUEST_URI"]に設定されていることが原因であることがわかり、Wordpress は in なしでURL にリダイレクトして削除しようとしていました。index.phpindex.phpindex.phpwp-includes/canonical.php

私にとっての解決策は、このようなものを使用することです。

proxy_pass http://111.111.111.111:8080$request_uri;

$request_uriそのため、修正を追加します。

于 2016-11-23T09:07:34.030 に答える
2

私の場合、リダイレクト ループは wp-admin ページにのみ影響したため、行頭に追加しました

if (is_admin) remove_filter('template_redirect', 'redirect_canonical');

それでも機能し、リダイレクトの正規化はフロントエンドで引き続き機能します。

これが他の誰かに役立つことを願っています!

于 2016-05-27T23:30:56.050 に答える
2

過去にApacheからNginxに切り替えたときに多くの問題がありました.Apacheをパージするとすべて解決しました.Apacheは何らかの形でNginxに干渉し、すべてのサーバーに問題を引き起こしました. NginxとWordpressの両方のガイドによると、NginxのWordpress構成は次のとおりです。

server {
    listen 80;
    server_name blog.mysite.com;

    root /var/www/wordpress;
    index index.php;

    charset utf-8;

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

    location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
        access_log off; log_not_found off; expires max;
    }

    location ~ \.php$ {
        try_files $uri /index.php;

      fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # CHANGE THE LINE ABOVE IF NEEDED
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

サーバーを切り替えるときに管理パネルで何も変更する必要さえありませんでした。

于 2013-11-14T14:33:14.117 に答える