Modificare gli URL per i contenuti statici

7 nov 2016, 13:55:53
Visualizzazioni: 21.2K
Voti: 3

Il mio host ha un cluster NGINX ad alta velocità.

Vorrei caricare i miei file CSS, JS e media da questo cluster. Ho seguito questi passaggi e ho aggiunto il nuovo dominio statico tramite il mio DNS.

Le nuove impostazioni DNS si sono propagate con successo e posso accedere ai miei file statici in questo modo http://static.example.com/wp-content/themes/mytheme/style.css.

Per iniziare, vorrei modificare l'URL di caricamento dei media. Ho provato ad aggiungere il seguente snippet a wp-config.php prima di require_once(ABSPATH.'wp-settings.php');

/** Percorso al cluster NGINX */
define( 'UPLOADS', ''.'http://static.example.com/wp-content/uploads' );

Quando salvo lo snippet sopra in wp-config.php e aggiorno il sito, i miei file multimediali (immagini) vengono caricati dal seguente URL:

http://www.example.com/http://static.example.com/wp-content/uploads/2016/11/image-name.jpg

Come si può vedere, l'URL root viene caricato prima dell'URL statico. Qual è il modo corretto per impostare il nuovo percorso di upload? Dovrei anche eseguire una ricerca e sostituzione per i caricamenti precedenti?

Presumo anche che devo modificare i percorsi JS e CSS in functions.php, in questo modo?:

// Prima
wp_enqueue_script( 'script', get_template_directory_uri() . '/js/script.js', array(), '20161025', false );

// Dopo
wp_enqueue_script('script', 'http://static.example.com/wp-content/themes/mytheme/js/script.js', array(), '20161025', false );
2
Commenti

Sembra che dia per scontato che uploads sia una cartella. Forse potresti filtrare l'output in qualche modo per usare un altro URL

jgraup jgraup
7 nov 2016 14:56:53

Grazie @jgraup. Il tuo commento ha stimolato ulteriori indagini e ho trovato la risposta qui sotto :)

Sam Sam
11 nov 2016 10:55:11
Tutte le risposte alla domanda 2
0

Questa risposta ha risolto il problema.

Devi aggiungere questo al tuo file functions.php.

/**
* URL personalizzato per il caricamento dei media
* @link https://wordpress.stackexchange.com/questions/77960/wordpress-3-5-setting-custom-full-url-path-to-files-in-the-media-library
*/
add_filter( 'pre_option_upload_url_path', 'upload_url' );

function upload_url() {
    return 'http://static.tuosito.com/wp-content/uploads';
}

Non è necessario aggiungere lo snippet originale al file wp-config.php.

11 nov 2016 10:52:38
1

Il modo più semplice per dire a WordPress di utilizzare un sottodominio (o un altro dominio) è definire una variabile globale nel file config.php.

define('WP_CONTENT_URL', 'http://static.tuosito.com');

Inserisci questo codice all'inizio del file di configurazione, altrimenti potrebbe non funzionare. Questo aggiornerà l'URL di tutte le risorse nella directory wp-content.

Per saperne di più, leggi la WordPress Codex

14 apr 2017 15:28:45
Commenti

Questo potrebbe causare problemi con alcuni plugin (ad esempio Yoast SEO). Se intendi utilizzarlo per il CDN, è meglio usare un plugin di cache che ti permetta di impostare un URL CDN.

Max S. Max S.
17 ott 2019 17:54:24