在 Ubuntu 14.04 上上传后 Wordpress 图片损坏

在 Ubuntu 14.04 上上传后 Wordpress 图片损坏

Ubuntu:14.04

WordPress:3.8.2

我正在将一个旧网站迁移到使用带有 nginx 前端的 wordpress 的新设置。大部分操作都很好,包括创建自定义主题,但当我上传图片时,它们只会显示为无效链接。

上传过程本身似乎可以正常工作。我检查了文件系统上的位置,文件大小各不相同。如果我进入上传图片的“编辑图片”,我可以看到它,但 wordpress 管理员和主网站中的其他每个位置都显示一个断开的链接。

以下是文件通过 wp-admin 成功上传的证明:

root@[hostname]:/srv/www/wp-content/[hostname]/uploads/2014/11# ls -al
total 284
drwxrwxr-- 2 www-data www-data   4096 Nov  8 01:12 .
drwxrwxr-- 3 www-data www-data   4096 Nov  8 01:03 ..
-rw-rw-r-- 1 www-data www-data  10450 Nov  8 01:03 SJB_0227-150x150.jpg
-rw-rw-r-- 1 www-data www-data  20732 Nov  8 01:03 SJB_0227-199x300.jpg
-rw-rw-r-- 1 www-data www-data  89325 Nov  8 01:03 SJB_0227.jpg
-rw-rw-r-- 1 www-data www-data  10069 Nov  8 01:12 SJB_0229-150x150.jpg
-rw-rw-r-- 1 www-data www-data  22616 Nov  8 01:12 SJB_0229-300x199.jpg
-rw-rw-r-- 1 www-data www-data 118579 Nov  8 01:12 SJB_0229.jpg

我的 /etc/wordpress/config-[hostname].php 包括:

define('WP_CONTENT_DIR', '/srv/www/wp-content/[hostname]');

我的 nginx 配置的相关部分:

root /var/www/html/wordpress;
        index index.php;
        server_name [hostname];

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                include fastcgi_params;
        }

我应该注意到,ubuntu 自动创建了一个完整的 /var/www/html/wordpress/wp-content 目录,尽管我不确定该目录有何用途,因为通过 wp-admin 上传的文件会出现在上面定义的 WP_CONTENT_DIR 中。

在我的主网站上,链接不起作用,并且形成如下:

http://[hostname]/wp-content/uploads/2014/11/SJB_0229.jpg

除了查看图片之外,网站上的其他功能都很好。我遗漏了什么?

更新:

我有一个解决方案。我还应该注意,上面的 /var/www/html/wordpress 路径实际上是我创建并忘记的 /usr/share/wordpress 的符号链接。然而,当将其更改为实际位置时,问题仍然存在。

答案1

看来 Ubuntu 安装没有遵守 /etc/wordpress/config-[hostname].php 中的 WP_CONTENT_DIR 设置。

我解决了这个问题(至少目前是这样):

cd /usr/share/wordpress/wp-content
mv uploads uploads-old
ln -s /my/correct/upload/directory uploads

相关内容