如何代理本地WP上传文件夹到实时站点

时间:2016-06-18 作者:William

Stack:

OSX 10.11.5上的MAMP PRO(El Cap)

Scenario:

我正在本地开发一个网站,现在已经有了该网站的在线实时版本。与其下载所有4gb的上传文件夹,我希望我的本地站点只从实时URL加载图像。

Concept:

通过大量的搜索,我发现了.haccess 可用于完成此操作的文件。我最喜欢的使用以下条件:

首先检查您是否在开发服务器上(HTTP_HOST)REQUEST_URI)检查请求的URL是否在本地不存在(文件或目录通过REQUEST_FILENAME)Code:

这是我的.htaccess 代码段:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /wp-content/uploads/
  RewriteCond %{HTTP_HOST} ^LOCALSITE\\.dev$ [NC]
  RewriteCond %{REQUEST_URI} ^/wp-content/uploads/
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ http://LIVESITE.com/wp-content/uploads/$1 [NC,P]
</IfModule>
就我个人而言,我不能让它正常工作

我已经运行了尽可能多的测试,并验证了mod\\u rewriteON 在MAMP中。我已经阅读了更多我感兴趣的htaccess文档,现在我正在兜圈子。

Test:

我的一次测试让我感到困惑。以下是我所做的:

在WordPress中创建一个包含两幅图像的页面

  • “映像A”仅存在于我的本地计算机上,而“映像B”仅存在于实时站点上,但正在URL中使用我的本地主机名。如图A所示,映像B出现404错误(如预期所示)
  • 添加.htaccess WordPress之后的代码片段没有任何变化,但如果我把所有RewriteCond 语句,请想象一个404,因为它是唯一一个实际使用实时URL重写的。它不存在,所以是404的。但图像B的URL没有被重写,它也是404的
  • Disclaimer: 现在是凌晨4点

    非常感谢您的帮助,谢谢。

1 个回复
SO网友:William

所以我在贴出我的问题后,通过阅读找到了答案。。。。

The htaccess rules need to go BEFORE the WordPress rules

给你。这一直是问题所在。

我要去睡觉了。

相关推荐

如何将图片和视频上传到特定文件夹,如wp-Content\\Uploads\\Folders-Name

我使用基本的PHP代码上传JPG、PNG等文件。为了改进,我想使用WordPress安全的内置函数和类。我发现wp_handle_upload () 功能非常好。唯一的问题是我无法将上载的文件移动到所需的文件夹。谁能帮帮我吗?例如,位置文件夹为wp content\\uploads\\folder name