Quando uso https, WordPress non usa https per CSS e JavaScript e l'admin non funziona. Come risolvere?

3 feb 2019, 22:04:34
Visualizzazioni: 14.4K
Voti: 2

Recentemente ho configurato un server LAMP e installato WordPress. L'ho connesso al web tramite un tunnel SSH inverso usando serveo.net.

Ho deciso di aggiungere SSL e il resto del sito sembra funzionare bene, ma WordPress continua a non funzionare quando provo a usare SSL.

Sono andato nelle impostazioni generali e ho cambiato gli URL da HTTP a HTTPS, ma quando carico le pagine, nel codice sorgente gli URL di CSS e JavaScript usano ancora HTTP invece di HTTPS, quindi non si caricano.

Inoltre la parte wp-admin non si carica affatto. Come posso risolvere?

Ho guardato diversi post di persone con problemi simili, ma nessuno mi ha aiutato.

2
Commenti

Sono molto nuovo nello sviluppo WordPress. Stavo per aggiungere un certificato SSL e per farlo sono andato nelle impostazioni generali e ho aggiunto https e rimosso http salvando le modifiche. Dopo di ciò, non riesco nemmeno più ad accedere all'amministrazione di WordPress. Per favore, aiutami il prima possibile.

ashutosh batta ashutosh batta
1 set 2020 04:43:42

@ashutoshbatta Se hai una nuova domanda, per favore fai clic sul pulsante Fai una domanda per chiederla. Includi un link a questa domanda se può aiutare a fornire contesto. - Da Revisione

bueltge bueltge
1 set 2020 11:13:09
Tutte le risposte alla domanda 4
7

Verifica due cose:

  • nella tabella wp-options, gli URL del sito (in due punti) dovrebbero essere l'URL completo, come in https://www.example.com.
  • controlla il file htaccess del sito per assicurarti che la riscrittura da http a https sia corretta.

Per una regola htaccess, questa funziona nella maggior parte dei casi:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Poi controlla i file del tuo tema per assicurarti che eventuali riferimenti a CSS/JS includano il protocollo https, non http. La maggior parte dei temi ben scritti utilizza riferimenti relativi piuttosto che assoluti per i file da includere.

È anche possibile che un plugin stia specificando http invece di https.

Utilizza la scheda Network negli Strumenti per Sviluppatori (di solito F12 nel tuo browser) per esaminare ogni richiesta e vedere da dove proviene. Se la richiesta è rivolta a una cartella di un plugin, controlla il codice al suo interno.

3 feb 2019 23:54:14
Commenti

Sto utilizzando il tema predefinito. twentynineteen. Le voci del database sono corrette, ma la sezione head contiene elementi come <link rel='stylesheet' id='wp-block-library-css' href='http://jtjumper.serveo.net/wp/wp-includes/css/dist/block-library/style.min.css?ver=5.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='wp-block-library-theme-css' href='http://jtjumper.serveo.net/wp/wp-includes/css/dist/block-library/theme.min.css?ver=5.0.3' type='text/css' media='all' />

John Tippin John Tippin
4 feb 2019 01:29:50

Se guardo il codice sorgente della pagina sul mio sito di test (hostato) con il tema 2019, l'href per quelle dichiarazioni include il protocollo https:. E ho l'htaccess mostrato nella mia risposta. E la mia tabella wp-options contiene https://www.example.com , non solo www.example.com . Forse il tuo non è configurato in questo modo?

Rick Hellewell Rick Hellewell
4 feb 2019 01:39:24

Non c'è abbastanza spazio nei commenti per il sorgente ma questo è il link per la pagina https://jtjumper.serveo.net/wp/ la mia tabella wp-options contiene entrambi, entrambi con https

John Tippin John Tippin
4 feb 2019 02:06:45

Hai qualche plugin di caching? Il tuo htaccess sta riscrivendo http in https?

Rick Hellewell Rick Hellewell
4 feb 2019 03:03:13

gli unici plugin che ho sono akismet, loginizer, really simple ssl e wordfence

John Tippin John Tippin
4 feb 2019 03:22:34

Disabilita tutti i tuoi plugin (specialmente really simple ssl). Poi imposta il tuo htaccess come mostrato. Quindi esegui un plugin di ricerca/sostituzione (mi piace "Better Search and Replace") e cerca http://www.yourdomain.com e sostituiscilo con https://www.yourdomain.com .

Rick Hellewell Rick Hellewell
4 feb 2019 03:51:08

La stringa di ricerca-sostituzione menzionata nel commento sopra dovrebbe dire: cerca http://yourdomain.com e sostituiscilo con https://yourdomain.com - a causa della formattazione, non viene visualizzato correttamente nel commento.

SherylHohman SherylHohman
2 mar 2020 01:09:59
Mostra i restanti 2 commenti
0

Questa risposta risolve la maggior parte dei problemi e spero che tu l'abbia già consultata.

La ragione per cui l'HTTPS (SSL) non funzionava sul mio WordPress, anche dopo aver modificato:

  1. Il file Virtual Host, ovvero il file <web_directory>.conf all'interno di /etc/apache2/sites-available
  2. Il file wp-config all'interno di /var/www/<web_directory>/
  3. [Per utenti AWS EC2] Aggiunta di un load balancer con un certificato SSL per connessioni HTTPS

Se dopo aver fatto tutto questo, riesci a visualizzare il tuo sito web senza che CSS e JavaScript funzionino, allora:

Ultimo passaggio

  1. Nella dashboard di WordPress, vai su Impostazioni>Generali

    • Sotto Indirizzo WordPress (URL), aggiungi https://<tudominio>.com
    • Sotto Indirizzo del sito (URL), aggiungi https://<tudominio>.com

Ho scoperto che, quando solo Indirizzo del sito (URL) è stato attivato con l'URL del sito, i temi di WordPress reindirizzano automaticamente i file CSS con HTTPS, ovvero https://<WordPressAddress>/css/index.css.

Solo il tuo dominio ha accesso SSL, quindi aggiungendo il nome del tuo dominio in Indirizzo WordPress (URL) ha risolto i problemi per me.

21 ago 2019 09:12:24
1

Aggiungi questo codice al file wp-config.php nella cartella root di WordPress.
Inoltre, nelle Impostazioni Generali del Pannello di Amministrazione, cambia da http a https per il tuo siteurl e home.

define('FORCE_SSL_ADMIN', true);
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
   $_SERVER['HTTPS']='on';
21 ago 2019 09:43:15
Commenti

Perché? Cosa fa?

Johan Johan
18 set 2021 01:57:58
0

Ho avuto lo stesso problema quando ho ospitato il mio sito su Azure webapp service Linux.

Prova questo plugin. Fai attenzione quando è attivo funziona. https://wordpress.org/plugins/jsm-force-ssl/

Questo plugin utilizza i filtri nativi di WordPress, invece del buffer di output di PHP, per massima affidabilità, prestazioni e compatibilità con la cache (questo plugin non influisce sulle prestazioni della cache), insieme a reindirizzamenti 301 permanenti per il miglior SEO (i reindirizzamenti 301 sono considerati i migliori per il SEO quando si passa da HTTP a HTTPS).

Rispetta le variabili di proxy / load-balancing per ambienti di hosting di grandi dimensioni:

HTTP_X_FORWARDED_PROTO HTTP_X_FORWARDED_SSL Requisiti:

Il tuo server web deve essere configurato con un certificato SSL e in grado di gestire richieste HTTPS.

Basta attivare il plugin e il gioco è fatto:

Non ci sono impostazioni del plugin da modificare, e non vengono apportate modifiche alla tua configurazione WordPress — semplicemente attiva o disattiva il plugin per abilitare / disabilitare i filtri e i reindirizzamenti dinamici.

7 mag 2020 17:51:33