Perché cambiare le porte da 80 a 8080 causa comportamenti inaspettati in WordPress?

3 ott 2014, 13:50:07
Visualizzazioni: 13.8K
Voti: -1

Sto cercando di configurare Varnish, che richiede che Apache ascolti su una porta diversa dalla 80, quindi ho scelto la 8080.

Tuttavia, WordPress si comporta in modo molto inaspettato. La pagina principale viene visualizzata, ma è rotta, e tutti i file CSS, JS e altri asset mostrano errori 404.

Questo sembra molto diverso da ciò che accade con altri siti come Drupal o anche con pagine statiche, dove tutti i link e gli asset passano automaticamente alla porta 8080.

Perché WordPress non segue questi standard? Come posso farlo "comportare bene"? Ho letto online che alcune persone risolvono questo problema aggiungendo :8080 dopo l'URL nelle impostazioni. Questo significa che dovrei andare a configurare manualmente oltre 50 siti WordPress, il che non sembra affatto corretto.

Qual è il modo migliore per affrontare questo problema? Se hai già installato Varnish, come hai configurato i tuoi siti WordPress per farli funzionare correttamente?

3
Commenti

Dato che WordPress non tiene conto della porta su cui vengono servite le richieste, il problema è nel modo in cui hai configurato Varnish e Apache. In ogni caso, è impossibile persino ipotizzare quale possa essere il tuo problema senza maggiori dettagli.

Mark Kaplun Mark Kaplun
3 ott 2014 14:20:45

Fammi sapere quali altri dettagli potrebbero essere utili e te li fornirò. È una configurazione semplice di Apache che era in ascolto sulla porta 80 e ora sulla 8080 - questa è l'unica cosa che è stata cambiata. Inoltre, i siti Drupal e i siti statici si sono adattati senza problemi. Inoltre, questa è un'installazione predefinita di WordPress. Non vedo come alcuna configurazione possa essere fuori dall'ordinario.

user658182 user658182
3 ott 2014 15:26:16

Alcuni risultati trovati (Google): Per impostazione predefinita, Varnish non funziona sulla porta 80 (e in questo caso non potrebbe nemmeno farlo dato che il tuo Apache sta occupando quella porta). Dovresti configurare Apache per ascoltare su un'altra porta, quindi utilizzare quella porta per la configurazione del backend in Varnish. Dovresti anche configurare Varnish per ascoltare sulla porta 80. Fonte: [link]http://drupal.stackexchange.com/questions/30732/cant-get-varnish-working-properly-not-caching-anything-varnishd-is-running[/link] http://superuser.com/a/720679/124062 & http://www.coderanch.com/t/168608/java-Web-Component-SCWCD/certification/Diff

Charles Charles
4 ott 2014 20:06:56
Tutte le risposte alla domanda 3
0

Il problema non è in WordPress, ma nella tua configurazione di Varnish o Apache.

I file statici, come CSS, JS, immagini, vengono serviti direttamente da Apache senza passare attraverso WordPress. WordPress utilizzerà semplicemente qualsiasi URL tu abbia configurato. Non si preoccupa della porta o dei domini, in quanto tali.

Quindi, se la richiesta al tuo sito per ottenere il CSS restituisce un 404, perché succede? WordPress non è coinvolto, le regole .htaccess che WP utilizza dicono ad Apache di servire direttamente qualsiasi file esistente. Togli WordPress dall'equazione e concentrati solo sul motivo per cui non riesci a ottenere il file CSS da quell'URL.

5 ott 2014 01:09:52
0

[Mi sono imbattuto in questa discussione mentre cercavo soluzioni per WordPress con problemi di apertura su una nuova porta. Ho capito che riguardava Varnish. Colpa mia.]

Anche WordPress ha problemi ad aprirsi su una nuova porta http. 1. XAMPP installato sulla macchina locale, impostazioni predefinite.. Apache accessibile su localhost (80), così come tutti i siti sotto htdocs, inclusi i siti WordPress.

  1. Ho dovuto installare Skype e l'ho fatto. Poi ho cambiato la porta di ascolto di Apache da 80 a 8080.

  2. Gli altri siti funzionano bene su localhost con porta 8080 tranne i siti WordPress. Drupal e altri CMS si aprono senza problemi anche dopo il cambio di porta.

Quando si accede ai siti WordPress con l'URL localhost con porta 8080, vengono reindirizzati a localhost. Il browser restituisce l'errore 404 non trovato. Quindi perché gli altri CMS funzionano bene anche dopo il cambio di porta da 80 a 8080 ma non WordPress?

Comunque, questa soluzione funziona: Esporta il database WordPress come SQL > Apri in un editor di testo > Trova e sostituisci tutti gli "localhost" con "localhost:8080" > Importa. http://techubber.blogspot.in/2016/04/wordpress-site-not-accessible-on-localhost-8080-redirects-to-localhost-404-error.html

Alcuni visitatori hanno affermato che la soluzione alternativa menzionata qui ha funzionato per loro (sono necessarie modifiche a wp_options > siteurl e home): marvintam[dot] com/2009/05/wordpress-on-localhost-port-number/

10 apr 2016 21:08:14
0
-2

Hai modificato l'URL di WordPress in Impostazioni->Generale?

http://example.com/wp => http://example.com:8080/wp

Non l'ho provato, ma dovrebbe essere lo stesso che spostare un'installazione di WordPress su un altro dominio.

4 ott 2014 15:59:20