上传项目外的Wordpress文件夹

时间:2016-06-30 17:10:24

标签: php wordpress

我正在尝试在安装目录之外定义wordpress upload文件夹。我的目录结构是:

/path/to/my/base/folder 
               |-> wordpress (the wordpress installation)
               |-> uploads (the required upload folder)

我尝试在wp-config.php中定义'UPLOADS',如:

define('UPLOADS', '../uploads');

Wordpress创建文件夹并将图像上传到那里,但在需要时无法使用它。图片网址如下所示:

www.myhost.dev/../uploads/image-file-name-format.jpg

但是,如果我使用绝对路径来定义'UPLOADS',如

define('UPLOADS', '/path/to/my/base/folder/uploads');

这有效。

但问题是,那么图片网址看起来像是:

www.myhost.dev//path/to/my/base/folder/uploads/image-file-name-format.jpg

这告诉文件的位置,这可能是一个安全问题。

那么,是否有更好的方法来定义上传文件夹的相对路径,它将指向我的必需文件夹

提前致谢。

3 个答案:

答案 0 :(得分:1)

我最后通过制作具有适当权限的符号链接来完成它。在我的例子中,当我尝试创建符号链接时,符号链接没有足够的权限写入文件夹。这是因为我的系统(我正在使用Macbook)。所以我做的是:

$ cd wp-content
$ mv uploads /path/to/my/base/folder/
$ ln -s ../../uploads uploads
$ chmod -h 777 uploads

检查我更改了符号链接权限的最后一行。通常在大多数情况下,您不需要更改符号链接的权限,因为它们继承了文件夹的权限。

答案 1 :(得分:0)

如果您查看此链接http://www.wpbeginner.com/wp-tutorials/how-to-change-the-default-media-upload-location-in-wordpress-3-5/

您需要使用类似的路径

define( 'UPLOADS', ''.'uploads' );

答案 2 :(得分:0)

一些可以帮助人们的笔记:

define('UPLOADS','blah')通常与WordPress核心根目录相关。默认值为“ wp-content / uploads”。如果您尝试使用“ ../uploads/”之类的名称将上载内容置于WordPress目录之外,则上载网址通常将无法正常工作,从而导致问题。

如果在wp-config.php中使用define()设置路径,则WordPress将不会读取upload_path设置(如果已使用)。

我发现在WordPress中设置upload_path选项更适合在WordPress安装路径之外存储媒体文件。登录到您的WP管理员,然后转到url /wp-admin/options.php以查看WordPress的“原始”选项列表。

查找upload_path设置。将您的FULL PATH放在/ usr / wpsite / uploads /等服务器上,其中/ usr / wpsite / public_html将是您的WordPress核心安装通常结束的位置。保存设置。

您的上载内容现在将放置在WordPress安装目录之外。确保Web服务器对目录具有读/写权限。

还请注意,WordPress将把所有文件放在该目录中。不会将它们分成年/月子文件夹,这是典型WordPress安装的默认子文件夹。如果有人知道如何保留该功能,请发表评论。