如何重新定位我的magento商店';谁的媒体目录?

如何重新定位我的magento商店';谁的媒体目录?,magento,Magento,我想将我的magento存储的媒体目录移动到服务器上的其他驱动器 查看app/etc/config.xml我看到一个xml字段: <config> <default> <filesystem> <media>{{root_dir}}/media</media> </filesystem> </default> </config>

我想将我的magento存储的媒体目录移动到服务器上的其他驱动器

查看
app/etc/config.xml
我看到一个xml字段:

<config>
    <default>
        <filesystem>
            <media>{{root_dir}}/media</media>
        </filesystem>
    </default>
</config>
这是否意味着我对
config.xml
所做的任何更改都不会影响我的实际配置

我也知道这个目录需要是web可访问的,并且我需要通过magento管理工具配置基本媒体URL以指向这个新目录。我计划将这个新目录设置为子域,并将基本媒体URL设置为这个子域


有人有移动媒体目录的经验吗?

嗯,既然Magento的代码实际上是一个web服务器配置,并且在Magento后端的url字段中有正确的条目,为什么还要破解它呢


子域很容易处理,DNS中的CNAME条目指向同一服务器,服务器配置文件中的虚拟服务器条目使用另一个驱动器上的目录作为其文档根(使用Apache?)。

这可以在操作系统级别轻松完成,无需与Magento混淆。只需创建一个
symlink

ln -s /my/real/path/to/media /my/path/to/magento/media
可以添加为符号链接, 但在管理面板中使用所见即所得编辑器时会遇到一些问题:)

需要:

编辑/app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php

函数getCurrentUrl()

改为

$path = str_replace(realpath(Mage::getConfig()->getOptions()->getMediaDir()), '', $this->getCurrentPath());

是的,很不幸,配置似乎在那里,但值是硬编码的。因为我的目标不是让媒体在子域上。我的目标是将图像移动到另一个驱动器。那么你这样说是什么意思?我计划将此新目录设置为子域,因为媒体目录将不再驻留在我的主驱动器上,我将无法将其放在为www子域设置的目录中。但是,我可以在Apache中将这个新目录配置为一个新的子域。当您提到另一个驱动器时,它是在Linux还是Windows上托管的?还有,什么样的web服务器,IIS或Apache?请参阅下面的@sonassi,了解Linux对该问题的处理,因为Linux中的第二个驱动器将被装载到目录装载点,而将媒体文件夹放在其他位置只是一个简单的路径更改。这不会失败,因为如果媒体目录符号链接到其他位置,tinyMCE将在WYIWYG编辑器中生成错误的URL。@CommaToast-详细说明如何操作确切地符号链接是服务器端,tinyMCE是客户端。符号链接对web浏览器是透明的,就其而言不应影响客户端的任何内容-它将进入名为
media
的目录,但这只是一个部分解决方案,因为在WYSIWYG编辑器中创建文件夹仍将被破坏。
$path = str_replace(Mage::getConfig()->getOptions()->getMediaDir(), '', $this->getCurrentPath());
$path = str_replace(realpath(Mage::getConfig()->getOptions()->getMediaDir()), '', $this->getCurrentPath());