Нерабочие стили CSS после изменения URL сайта

22 апр. 2014 г., 01:27:27
Просмотры: 39.9K
Голосов: 4

У меня есть самостоятельно размещенный блог WordPress на домашнем сервере. Ранее я получал к нему доступ напрямую через его оригинальный IP-адрес, полученный через DHCP, но теперь я настроил для него статический IP-адрес. Проблема в том, что теперь все стили CSS не работают.

Я обновил файл wp-config.php, добавив следующие две строки:

define('WP_HOME','http://192.168.0.100/myblog/');
define('WP_SITEURL','http://192.168.0.100/myblog/');

и перезапустил apache, но CSS все еще не работает. Есть ли какой-то другой конфигурационный файл, который мне нужно обновить?

8
Комментарии

Откуда загружаются таблицы стилей?

s_ha_dum s_ha_dum
22 апр. 2014 г. 03:42:22

@s_ha_dum в данный момент я использую тему Twenty Thirteen и не вносил в нее никаких изменений, так что, можно сказать, все находится в папке стандартной темы.

user1301428 user1301428
22 апр. 2014 г. 14:37:12

Обновили ли вы ключи, о которых вы упоминаете, в таблице БД wp_options? WP может по-прежнему искать некоторые ресурсы по старому IP-адресу.

David Gard David Gard
22 апр. 2014 г. 14:43:24

Вы не изменяли права доступа к файлам? Был похожий вопрос здесь

Pieter Goosen Pieter Goosen
22 апр. 2014 г. 14:44:41

@DavidGard Нет, но разве это необходимо? Вот эта страница из Codex, кажется, говорит, что моих изменений должно быть достаточно: http://codex.wordpress.org/Changing_The_Site_URL

user1301428 user1301428
22 апр. 2014 г. 16:36:34

@PieterGoosen Нет, изменил только IP-адрес машины.

user1301428 user1301428
22 апр. 2014 г. 16:37:07

Ах, в статье сказано - "Примечание: Оба параметра должны включать часть http:// и не должны иметь слеша "/" в конце." Ваши записи выше содержат слеш в конце, что означает, что URL к вашей таблице стилей будет в формате `http://192.168.0.100/myblog//wp-content/themes/my-theme/style.css'

David Gard David Gard
22 апр. 2014 г. 17:31:00

Я не спрашивал, где всё на самом деле находится. Я спросил, какой адрес у запроса. Посмотрите исходный код страницы, найдите ссылку на вашу таблицу стилей (таблицы стилей) и вставьте URL(ы) в вопрос.

s_ha_dum s_ha_dum
22 апр. 2014 г. 17:41:50
Показать остальные 3 комментариев
Все ответы на вопрос 5
1

Если у вас есть доступ к вашей MySQL базе данных, вы можете обновить таблицу wp_options.

Перед изменением...

$ mysql -u <db_user> --password=<db_pwd> -D <db_name> <<<"select * from wp_options where option_name in ('siteurl', 'home');"
+-----------+-----------------+---------------------------------------------------------------------------------------------------+----------+
| option_id | option_name     | option_value                                                                                      | autoload |
+-----------+-----------------+---------------------------------------------------------------------------------------------------+----------+
|         1 | siteurl         | http://172.17.0.2/wordpress                                                                       | yes      |
|         2 | home            | http://172.17.0.2/wordpress                                                                       | yes      |
+-----------+-----------------+---------------------------------------------------------------------------------------------------+----------+

Затем я изменил IP на 172.17.0.4 с помощью следующей команды...

$ mysql mysql -u <db_user> --password=<db_pwd> -D <db_name> <<<"update wp_options set option_value='http://172.17.0.4/wordpress' where option_name in ('siteurl', 'home');"    

В результате таблица принимает следующий вид...

+-----------+-----------------+---------------------------------------------------------------------------------------------------+----------+
| option_id | option_name     | option_value                                                                                      | autoload |
+-----------+-----------------+---------------------------------------------------------------------------------------------------+----------+
|         1 | siteurl         | http://172.17.0.4/wordpress                                                                       | yes      |
|         2 | home            | http://172.17.0.4/wordpress                                                                       | yes      |
+-----------+-----------------+---------------------------------------------------------------------------------------------------+----------+

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

15 янв. 2015 г. 14:13:30
Комментарии

Это сработало для меня. Вместе с этим я также изменил URL в графическом интерфейсе

Bharat Bharat
1 янв. 2021 г. 14:04:53
6

В WordPress Codex 'Изменение URL сайта' указано следующее:

Примечание: Оба параметра должны включать часть http:// и не должны иметь слэша "/" в конце.

Я заметил в вашем вопросе, что обе константы WP_HOME и WP_SITEURL содержат завершающий слэш. Это означает, что URL вашей таблицы стилей будет в таком формате:

http://192.168.0.100/myblog//wp-content/themes/my-theme/style.css'

Короче говоря, удалите завершающий слэш из обоих объявлений, и это должно решить проблему.

Также обратите внимание, что упомянутый Codex указывает следующее в отношении выбранного вами решения:

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

Я предлагаю использовать один из других, более постоянных методов, описанных для достижения вашей цели.

22 апр. 2014 г. 17:35:12
Комментарии

Двойные слеши, хотя технически некорректны, всё же обычно работают — проверено в пяти разных браузерах. Сомневаюсь, что в этом проблема.

s_ha_dum s_ha_dum
22 апр. 2014 г. 17:37:17

@s_ha_dum — Зависит от того, был ли URL переписан. Если да, двойные слеши всё ещё могут работать (хотя это не идеально). Если нет, по сути вы запрашиваете листинг директории, поэтому двойные слеши не сработают.

David Gard David Gard
22 апр. 2014 г. 17:40:14

URL таблиц стилей не переписываются, по крайней мере ядром WordPress, и именно это я тестировал — отправлял прямой запрос к URL таблицы стилей. Но я не нашёл ни одной комбинации слешей, которая бы ломала запросы на моём сервере для любой страницы, с переписанными URL (permalinks) или без. Если вам известны конкретные воспроизводимые случаи, пожалуйста, уточните.

s_ha_dum s_ha_dum
22 апр. 2014 г. 17:50:14

@s_ha_dum - Я понимаю, что URL таблицы стилей не будет сломан, поэтому я и упомянул о не переписанных URL. Сейчас проведу тестирование, так как уверен, что ранее сталкивался с проблемами из-за двойных слешей...

David Gard David Gard
22 апр. 2014 г. 17:52:49

@s_ha_dum - Что ж, мне не удалось сломать тестовый сайт двойными слешами, видимо мне это показалось... Однако технически мой ответ всё ещё корректен ;-)

David Gard David Gard
22 апр. 2014 г. 18:04:13

Да, я попробовал это, и это тоже не сработало. Однако по какой-то странной причине, после восстановления блога на старый IP-адрес и изменения URL через графический интерфейс, теперь всё работает. Вот так дела

user1301428 user1301428
23 апр. 2014 г. 00:39:40
Показать остальные 1 комментариев
0

Перенос вашего сайта на WordPress в другое место должен быть безболезненным процессом: вам просто нужно экспортировать базу данных, импортировать её на новый хостинг, переместить туда ваши файлы, настроить всё и запустить новый сайт. Однако есть некоторые шаги, которые при неправильном выполнении могут вызвать ряд проблем, создающих трудности и приводящих к неудачным переносам сайтов.

6 авг. 2019 г. 10:30:58
0
-1

По какой-то причине изменение URL через графический интерфейс сработало (после восстановления машины на старый IP-адрес). Вот так дела.

23 апр. 2014 г. 00:58:50
0
-1

По какой-то причине URL моего сайта содержал лишний пробел в конце строки в базе данных - таблице wp_options

16 февр. 2017 г. 03:32:42