Wordpress mengarahkan ulang koneksi pada port 8080 ke 80

9

Saya memiliki blog wordpress yang dilayani oleh apache2 (pada port 80) dan nginx (pada port 8080) di Ubuntu 12.04. Sekarang setiap kali klien terhubung melalui port 80 semua keren, tetapi ketika klien terhubung ke 8080 untuk melihat blog yang sama, koneksi dialihkan ke apache. Mengapa ini terjadi? Saya mencari-cari dan menemukan bahwa ini adalah batasan Wordpress yang mengalihkan semua koneksi ke URL situs yang ditetapkan di dasbor (yang merupakan port 80 secara default).

Apakah ada jalan keluarnya? bahwa koneksi ke port 8080 akan dilayani oleh nginx daripada apache

Isi dari / etc / nginx / situs-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;
}

Bantuan apa pun dihargai.

kalipso
sumber
2
WP hanya dapat dikonfigurasi untuk dijalankan pada satu port. Entah itu mysite.com atau mysite.com:8080 tidak keduanya. Ketika seseorang melihat WP melalui 8080 (tetapi dikonfigurasi untuk 80), WP mungkin akan menampilkan halaman tersebut tetapi semua tautan akan menjadi 80.
user42826
Mengapa Anda mencoba menjalankan situs seperti ini?
Seamus Leahy
@ user42826 Saya telah mengkonfigurasi apache untuk menggunakan 8080, dan, seperti yang Anda jelaskan, semua tautan ke css, gambar, dan aset lainnya rusak. Bagaimana Anda menyarankan perbaikan yang tidak akan menghapus arahan ulang? Saya telah melihat banyak orang merekomendasikan untuk menambahkan: 8080 ke url dalam pengaturan, tetapi ini terasa tidak benar. Saya tidak harus mengkonfigurasi WP selain apache, bukan?
user658182

Jawaban:

11

Saya menyelesaikannya !! begini caranya:

Edit tema Anda saat ini functions.phpdan tambahkan baris berikut setelah tag PHP pembuka untuk menonaktifkan pengalihan kanonik.

remove_filter('template_redirect','redirect_canonical'); Simpan dan keluar.

Mulai ulang apache2 dan nginx dan periksa curl -I IP.

kalipso
sumber
1

Permasalahan yang sama. Dalam situasi saya, saya mengatur port server di 3030, untuk mengakomodasi server lain. Bagaimanapun, tanpa harus menambahkan kode apa pun ke functions.phpfile apa pun , saya memecahkan masalah dengan mengubah nilai situs dan rumah di wp_optionstabel ke domain dan pengaturan port.

Sebagai contoh,

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

Segalanya tampak bekerja dengan baik dari sana. 👍

seebiscuit
sumber