Stack:
OSX 10.11.5上的MAMP PRO(El Cap)
Scenario:
我正在本地开发一个网站,现在已经有了该网站的在线实时版本。与其下载所有4gb的上传文件夹,我希望我的本地站点只从实时URL加载图像。
Concept:
通过大量的搜索,我发现了
.haccess
可用于完成此操作的文件。我最喜欢的使用以下条件:
首先检查您是否在开发服务器上(HTTP_HOST
)检查请求的URL是否在wp内容/上载中(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点非常感谢您的帮助,谢谢。