Загруженные изображения не отображаются на localhost

Вопрос или проблема

Я работаю с WordPress 3.3.1 на локальной установке. Я загрузил файл изображения, и он не отображается.

Базовый каталог является символической ссылкой /var/www/wordpress/, которая указывает на /usr/share/wordpress/

Файл существует здесь:
/srv/www/wp-uploads/localhost/2013/01/Logo.png

WordPress думает, что файл находится здесь:
http://localhost/wordpress/2013/01/Logo.png (Apache выдает 404)

Как я могу настроить Apache или WordPress, чтобы получить правильный файл?

Я запутался, потому что /srv/www/localhost/ содержит файлы WordPress (также).

Кроме того, я нашел вопросы, связанные с wp-content/uploads, но этот каталог не существует.

Возможно, у вас неправильные разрешения и/или владельцы на /usr/share/wordpress/. Попробуйте установить для этого каталога разрешения 777 и изменить владельца на Apache (в Ubuntu он работает как пользователь www-data).

Если WordPress был распакован/развёрнут в /usr/share/wordpress, у вас должен быть каталог wp-content – и каталог /uploads должен быть создан там (при условии, что разрешения и т.д. правильные).

Вы также упоминаете /srv/www/wp-uploads/localhost/ и /srv/www/localhost/ — возможно, вы тоже изменяли свои файлы VHOST? Вы включили mod-rewrite или что-то другое?

Я решил эту проблему, создав символическую ссылку в каталоге /var/www/.

ln -s /srv/www/wp-uploads/localhost/ wp-uploads

Это, вероятно, временное решение, и с конфигурацией Apache, возможно, что-то не так, но это работает для песочницы.

Ответ или решение

Ваша проблема с отображением загруженных изображений на локальной установке WordPress может быть связана с несколькими факторами, включая неправильную настройку путей, разрешений и конфигурации Apache. Давайте рассмотрим, как можно решить эту проблему шаг за шагом.

1. Проверьте структуру папок

Убедитесь, что структура каталогов в вашей установке правильная. Обычно загруженные файлы должны находиться в директории wp-content/uploads. Если такая директория отсутствует, вы можете создать её вручную, чтобы WordPress мог сохранять туда загружаемые файлы.

2. Создание символической ссылки

Как вы уже упомянули, вы можете создать символическую ссылку, чтобы обеспечить доступ к загруженным файлам. Ваш код:

ln -s /srv/www/wp-uploads/localhost/ wp-uploads

действительно позволяет WordPress находить файлы, находящиеся в /srv/www/wp-uploads/localhost/. Это временное решение, но для долгосрочной стабильности рекомендуется сосредоточиться на правильной конфигурации Apache и WordPress.

3. Настройка Apache

Проверьте конфигурацию вашего виртуального хоста (VHOST). Убедитесь, что он правильно настроен. Пример конфигурации может выглядеть следующим образом:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /var/www/wordpress

    <Directory /var/www/wordpress>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Обратите внимание на директиву AllowOverride All, которая необходима, чтобы WordPress мог использовать файл .htaccess для управления переменными URL и перезаписью.

4. Проверьте разрешения и владельца папок

Необходимо убедиться, что права доступа к папкам корректные. На Ubuntu вы можете настроить разрешения следующим образом:

sudo chown -R www-data:www-data /usr/share/wordpress
sudo chmod -R 755 /usr/share/wordpress

Если вам необходимо временно дать полный доступ (не рекомендуется в производственной среде), вы можете сделать это:

sudo chmod -R 777 /usr/share/wordpress

5. Включение mod_rewrite

Убедитесь, что модуль mod_rewrite включен в вашем Apache:

sudo a2enmod rewrite
sudo systemctl restart apache2

6. Переустановка медиафайлов

Если после выполнения всех шагов изображения все еще не отображаются, попробуйте загрузить их заново через интерфейс WordPress. Это поможет WordPress создать необходимые записи в базе данных для указания правильных URL загруженных файлов.

Заключение

Соблюдая все вышеперечисленные шаги, вы должны решить проблему с отсутствующими загруженными изображениями в вашей локальной установке WordPress. Если проблема сохраняется, настоятельно рекомендую проверить логи Apache и WordPress на наличие ошибок, которые могут указать на дополнительные проблемы.

Оцените материал
Добавить комментарий

Капча загружается...