Некоторые плагины, добавляющие весь путь сервера после URL (с пользовательской папкой wp-содержания)

Установка SEO Wordpress (немногие другие, но не все плагины) дает следующую консольную ошибку:

GET http://craigmdennis.com/content/plugins/nfs/c08/h04/mnt/152547/domains/craigmdennis.com/html/content/plugins/wordpress-seo/js/wp-seo-admin-global.js?ver=1.2.5 404 (Not Found)

По некоторым причинам это перечисляет полный путь сервера после моего URL. Это кажется как будто /nfs/c08/h04/mnt/152547/domains/craigmdennis.com/html/content/plugins/ или http://craigmdennis.com/content/plugins/ не должен присутствовать в URL.

Вот структура каталогов (отметьте пользовательский каталог содержания):

wp/
content/
content/themes/
content/plugins/
.htaccess
index.php
wp-config.php

Я не выполняю MU. У меня также есть субдомен для медиа (не должен производить проблему, но я перечисляю ее для completedness),

Вот соответствующие части моего wp-config.php файла:

define('WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/wp');

define('WP_HOME',    'http://' . $_SERVER['HTTP_HOST']);

define('WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/content');

define('WP_CONTENT_URL', 'http://' . $_SERVER['SERVER_NAME'] . '/content');

Кто-либо знает то, что продолжается здесь?Спасибо.

[РЕДАКТИРОВАНИЕ] я думаю, что оно связано с __FILE__ и не DOCUMENT_ROOT как плагины все использование __FILE__ получить имя каталога. Это обеспечивает /nfs/c08/h04/mnt/ вместо /home/.

Когда я повторяю местоположение plugins_url (), я добираюсь /home/152547/domains/dev.craigmdennis.com/html/content/plugins который корректен, но когда я передаю в ФАЙЛЕ в качестве параметра, я получаю вышеупомянутое /nfs/c08/h04/mnt/152547/domains/dev.craigmdennis.com/html/content/plugins/{plugin-folder}.

Мог это быть чем-то, чтобы сделать с PHP разрешение псевдонимов для __FILE__ Это объяснило бы, почему это работает над моим локальным сервером (без псевдонимов) и не делает на Храме Медиа (который может исказить /nfs/c08/h04/mnt/ для /home/ Действительно ли это - проблема Wordpress или проблема о моем сервере?

0
03.12.2012, 04:05
2 ответа

Ошибка является результатом php __FILE__ разрешение любых псевдонимов или символьных ссылок на сервере.

Решение состоит в том, чтобы установить define('WP_CONTENT_DIR', dirname(__FILE__) . '/content'); таким образом, это - также абсолютный путь к файлу на сервере после разрешения псевдонимов.

См.: http://php.net/manual/en/language.constants.predefined.php#104842

0
20.02.2020, 01:51

Учитывая, что js местоположение определяется следующим образом:

$js_location = WPSEO_URL . 'js/wp-seo-admin-global.js'

где:

WPSEO_URL = WP_PLUGIN_URL . '/' . <WP_SEO_PLUGIN_PATH> . '/'

Я подозреваю, что проблема связана с деривацией <WP_SEO_PLUGIN_PATH>. Это значение определяется кодом в функции plugins_url() найденный в wp-includes\link-template.php

При отладке той функции она может привести к причине почему <WP_SEO_PLUGIN_PATH> производит неправильное значение: 'nfs/c08/h04/mnt/152547/domains/craigmdennis.com/html/content/plugins/wordpress-seo'

0
20.02.2020, 01:51
  • 1
    я сомневаюсь относительно этого, является чем-либо, чтобы сделать с файлами ядра Wordpress или плагином, поскольку это хорошо работает локально. Я думаю, что это - проблема конфигурации сервера или неправильный путь к файлу где-нибудь. –  Craig 24.07.2012, 00:42

Теги

Похожие вопросы