Wordpress เปลี่ยนเส้นทางการเชื่อมต่อบนพอร์ต 8080 ถึง 80


9

ฉันมีบล็อก WordPress ซึ่งให้บริการโดย apache2 (บนพอร์ต 80) และ nginx (บนพอร์ต 8080) บน Ubuntu 12.04 ตอนนี้เมื่อใดก็ตามที่ไคลเอนต์เชื่อมต่อผ่านพอร์ต 80 ทั้งหมดเป็น dory hunky แต่เมื่อไคลเอ็นต์เชื่อมต่อกับ 8080 เพื่อดูบล็อกเดียวกันการเชื่อมต่อจะถูกเปลี่ยนเส้นทางไปยัง apache ทำไมสิ่งนี้จึงเกิดขึ้น ฉันค้นหาไปรอบ ๆ และพบว่านี่เป็นข้อ จำกัด ของ Wordpress ซึ่งจะเปลี่ยนเส้นทางการเชื่อมต่อทั้งหมดไปยัง URL ของไซต์ที่ตั้งค่าในแผงควบคุม (ซึ่งเป็นพอร์ต 80 ตามค่าเริ่มต้น)

มีวิธีแก้ไขไหม? ว่าการเชื่อมต่อกับพอร์ต 8080 จะให้บริการโดย nginx มากกว่า apache

เนื้อหาของ / 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;
}

ความช่วยเหลือใด ๆ ที่ชื่นชม


2
WP สามารถกำหนดค่าให้ทำงานบนพอร์ตเดียวเท่านั้น มันอาจเป็นmysite.comหรือmysite.com:8080ไม่ใช่ทั้งคู่ เมื่อมีคนดู WP ผ่าน 8080 (แต่กำหนดค่าไว้ที่ 80) WP อาจแสดงหน้านี้ แต่ลิงก์ทั้งหมดจะเป็น 80
42826

เหตุใดคุณจึงพยายามเรียกใช้ไซต์ในลักษณะนี้
Seamus Leahy

@ user42826 ฉันได้กำหนดค่า apache ให้ใช้ 8080 และตามที่คุณอธิบายลิงก์ทั้งหมดไปยัง css รูปภาพและเนื้อหาอื่น ๆ ใช้งานไม่ได้ คุณจะแนะนำการแก้ไขที่จะไม่ลบการเปลี่ยนเส้นทางได้อย่างไร ฉันเคยเห็นผู้คนมากมายแนะนำให้เพิ่ม: 8080 ในการตั้งค่า แต่สิ่งนี้ไม่ถูกต้อง ฉันไม่ควรกำหนดค่า WP นอกเหนือจาก apache ใช่ไหม
user658182

คำตอบ:


11

ฉันแก้ไขมัน !! นี่คือวิธี:

แก้ไขธีมปัจจุบันของคุณfunctions.phpและเพิ่มบรรทัดต่อไปนี้หลังจากเปิดแท็ก PHP เพื่อปิดใช้งานการเปลี่ยนเส้นทางแบบบัญญัติ

remove_filter('template_redirect','redirect_canonical'); บันทึกและออก.

เริ่มต้นใหม่ apache2 และ Nginx curl -I IPและตรวจสอบด้วย


1

ปัญหาเดียวกัน. ในสถานการณ์ของฉันฉันตั้งพอร์ตเซิร์ฟเวอร์ที่3030เพื่อรองรับเซิร์ฟเวอร์อื่น ๆ อย่างไรก็ตามโดยไม่ต้องเพิ่มรหัสใด ๆ ลงในfunctions.phpไฟล์ใด ๆฉันแก้ไขปัญหาได้โดยเปลี่ยนไซต์และค่าโฮมในwp_optionsตารางเป็นการตั้งค่าโดเมนและพอร์ต

ตัวอย่างเช่น,

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

ดูเหมือนว่าทุกอย่างจะทำงานได้ดีจากที่นั่น 👍

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.