web-dev-qa-db-ja.com

ポート8080から80へのWordpressリダイレクト接続

私はUbuntu 12.04上のApache2(ポート80)とnginx(ポート8080)で提供されているwordpressのブログを持っています。クライアントがポート80経由で接続するときはいつも厄介ですが、同じブログを見るためにクライアントが8080に接続するときには、接続はApacheにリダイレクトされます。なんでこんなことが起こっているの?私は周りを検索し、これがダッシュボード(デフォルトではポート80)で設定されたサイトURLへのすべての接続をリダイレクトするというWordpressの制限であることがわかりました。

これを回避する方法はありますか?ポート8080への接続は、Apacheではなくnginxによって提供されます。

/ etc/nginx/sites-enabled/wordpressの内容

server {
listen   8080;

root /var/www;
index index.php index.html index.htm;

server_name abc.com;

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

location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        deny all;
}

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;
location = /50x.html {
        root /usr/share/nginx/www;
}

location ~ \.php$ {

        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param   SERVER_PORT 8080;
        port_in_redirect off;
}

任意の助けは大歓迎です。

9
calypso

私はそれを解決しました!方法は次のとおりです。

現在のテーマのfunctions.phpを編集して、開始PHPタグの後に次の行を追加して、正規のリダイレクトを無効にします。

remove_filter('template_redirect','redirect_canonical');保存して終了します。

Apache2とnginxを再起動してcurl -I IPで確認してください。

10
calypso

同じ問題です。私の状況では、私は他のサーバを収容するためにサーバポートを3030に設定しました。とにかく、functions.phpファイルにコードを追加する必要なく、wp_optionsテーブルのsiteとhomeの値をdomainとportの設定に変更することで問題を解決しました。

例えば、

site     http://localhost:3030
home     http://localhost:3030

そこからすべてがうまく機能しているようでした。 ????

1
seebiscuit