更改静态内容的URL

时间:2016-11-07 作者:Sam

我的主机有一个高速NGINX集群。

我想从这个集群加载我的CSS、JS和媒体文件。我跟踪了these steps 并通过我的DNS添加了新的静态域。

新的DNS设置已成功传播,我可以像这样访问我的静态文件http://static.example.com/wp-content/themes/mytheme/style.css.

首先,我想更改媒体上载URL。我已尝试将以下代码段添加到wp-config.php 之前require_once(ABSPATH.’wp-settings.php’);

/** Path to NGINX cluster */
define( \'UPLOADS\', \'\'.\'http://static.example.com/wp-content/uploads\' );
将上述代码段保存到时wp-config.php 和刷新站点时,我的媒体文件(图像)将从以下URL加载:

http://www.example.com/http://static.example.com/wp-content/uploads/2016/11/image-name.jpg
如您所见,根URL在静态URL之前加载。设置新上载路径的正确方法是什么?我是否也应该对以前的上载执行搜索和替换?

我还假设我在functions.php, 像这样吗?:

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

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

2 个回复
最合适的回答,由SO网友:Sam 整理而成

This answer 解决了问题。

您需要将此添加到functions.php 文件

/**
* Custom media upload URL
* @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\';
}
无需将原始代码段添加到wp-config.php.

SO网友:user3114253

告诉WordPress使用子域(或另一个域)的最简单方法是在配置中定义globals变量。php文件。

define(\'WP_CONTENT_URL\', \'http://static.yourdomain.com\');
将其放在配置文件的最开头,否则它可能无法工作。这将更新wp内容目录中所有资源的url。

在上阅读更多信息Wordpress Codex