Redirecționarea conexiunilor WordPress de la portul 8080 la 80

20 feb. 2014, 17:50:11
Vizualizări: 28.5K
Voturi: 15

Am un blog WordPress care este servit de apache2 (pe portul 80) și nginx (pe portul 8080) pe Ubuntu 12.04. Acum, când un client se conectează prin portul 80 totul funcționează perfect, dar când un client se conectează la 8080 pentru a vizualiza același blog, conexiunea este redirecționată către apache. De ce se întâmplă acest lucru? Am căutat și am descoperit că aceasta este o limitare WordPress care redirecționează toate conexiunile către URL-ul site-ului setat în panoul de administrare (care este implicit portul 80).

Există vreo soluție pentru această problemă? astfel încât conexiunile la portul 8080 să fie servite de nginx în loc de apache

Conținutul fișierului /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;
}

Orice ajutor este apreciat.

3
Comentarii

WP poate fi configurat să ruleze doar pe un singur port. Va fi fie http://mysite.com/ fie http://mysite.com:8080/, nu pe ambele. Când cineva accesează WP prin portul 8080 (dar este configurat pentru 80), WP va afișa pagina, dar toate linkurile vor fi către portul 80.

user42826 user42826
20 feb. 2014 19:01:37

De ce încerci să rulezi site-ul în acest fel?

Seamus Leahy Seamus Leahy
21 feb. 2014 05:18:11

@user42826 Am configurat Apache să folosească portul 8080 și, după cum ai descris, toate linkurile către CSS, imagini și alte resurse sunt stricate. Cum sugerezi să remediez asta fără a elimina redirectările? Am văzut mulți oameni recomandând adăugarea :8080 în URL în setări, dar nu mi se pare corect. Nu ar trebui să fie nevoie să configurez WP în plus față de Apache, nu?

user658182 user658182
3 oct. 2014 05:20:06
Toate răspunsurile la întrebare 2
1
15

Am rezolvat!! iată cum:

Editează fișierul functions.php al temei tale curente și adaugă următoarea linie după deschiderea tag-ului PHP pentru a dezactiva redirecționarea canonică.

remove_filter('template_redirect','redirect_canonical'); salvează și ieși.

Repornește apache2 și nginx și verifică cu curl -I IP.

20 feb. 2014 21:36:39
Comentarii

Nu este nevoie să reporniți Apache sau Nginx atunci când modificați codul WordPress.

Marc Marc
19 nov. 2023 11:01:39
0

Aceeași problemă. În situația mea, am setat portul serverului la 3030, pentru a acomoda alte servere. În orice caz, fără a fi nevoie să adaug cod în vreun fișier functions.php, am rezolvat problema schimbând valorile site și home din tabela wp_options la setările de domeniu și port.

De exemplu,

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

Totul a funcționat perfect de acolo încolo.

25 mai 2018 23:36:00