Schimbarea URL-urilor pentru conținut static

7 nov. 2016, 13:55:53
Vizualizări: 21.2K
Voturi: 3

Hostul meu are un cluster NGINX de mare viteză.

Aș dori să încarc fișierele mele CSS, JS și media de pe acest cluster. Am urmat acești pași și am adăugat noul domeniu static prin DNS-ul meu.

Noile setări DNS s-au propagat cu succes și pot accesa fișierele mele statice astfel http://static.example.com/wp-content/themes/mytheme/style.css.

Pentru început, aș dori să schimb URL-ul de încărcare media. Am încercat să adaug următorul fragment în wp-config.php înainte de require_once(ABSPATH.'wp-settings.php');

/** Calea către clusterul NGINX */
define( 'UPLOADS', ''.'http://static.example.com/wp-content/uploads' );

Când salvez fragmentul de mai sus în wp-config.php și reîmprospătez site-ul, fișierele mele media (imaginile) se încarcă de la următorul URL:

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

După cum puteți vedea, URL-ul rădăcină se încarcă înaintea URL-ului static. Care este modalitatea corectă de a seta noua cale de încărcare? Ar trebui să efectuez și o căutare și înlocuire pentru încărcările anterioare?

De asemenea, presupun că îmi schimb căile JS și CSS în functions.php, astfel?:

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

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

Se pare că presupune că uploads este un folder. Poate ai putea filtra output-ul cumva pentru a folosi alt URL

jgraup jgraup
7 nov. 2016 14:56:53

Mulțumesc @jgraup. Comentariul tău a stimulat o investigație mai amănunțită și am găsit răspunsul de mai jos :)

Sam Sam
11 nov. 2016 10:55:11
Toate răspunsurile la întrebare 2
0

Acest răspuns a rezolvat problema.

Trebuie să adăugați acest cod în fișierul functions.php.

/**
* URL personalizat pentru încărcare 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.yourdomain.com/wp-content/uploads';
}

Nu este necesar să adăugați fragmentul original în wp-config.php.

11 nov. 2016 10:52:38
1

Cea mai ușoară metodă de a spune WordPress să utilizeze un subdomeniu (sau alt domeniu) este prin definirea unei variabile globale în fișierul tău config.php.

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

Pune această linie chiar la începutul fișierului de configurare, altfel s-ar putea să nu funcționeze. Aceasta va actualiza URL-ul tuturor resurselor din directorul wp-content.

Citește mai multe despre asta în Wordpress Codex

14 apr. 2017 15:28:45
Comentarii

Aceasta poate afecta unele plugin-uri (ex. Yoast SEO). Dacă intenționați să îl folosiți pentru CDN, cel mai bine este să utilizați un plugin de cache care vă permite să setați o adresă URL CDN.

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