Разработка Wordpress Multisite на PHP Встроенный веб-сервер

Я пытаюсь настроить среду разработки для многопользовательского Wordpress на моем локальном MAC. Я занимаюсь разработкой с использованием PHPStorm и встроенного PHP веб-сервера. Одним из ограничений встроенного веб-сервера является то, что он не поддерживает apache mod_rewrite, но вместо этого использует скрипты маршрутизации. Однако, есть очень мало четкой документации по переводу на них из правил.htaccess.

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) wordpress/$1 [L]
RewriteRule ^(.*\.php)$ wordpress/$1 [L]
RewriteRule . index.php [L]

С чего я начинаю, с базового перенаправления Wordpress htaccess для мультисайта с Wordpress в его собственном каталоге (/wordpress)... Кто-нибудь может указать мне хорошее направление для ресурсов о том, как перевести это в скрипт маршрутизации?

1 ответ

Решение

Таким образом, нам наконец удалось заставить это работать (по крайней мере, используя различные домены для каждого сайта). Вот что нужно: добавить строку в начале wp-config.php, чтобы определить имя хоста и определить с ним константу:

define('APP_HOST', $_SERVER['HTTP_HOST']);

Затем внесите следующие изменения в wp-config:

/** URL to wp-content directory */
define('WP_CONTENT_URL', 'http://' . APP_HOST . '/wp-content');

/** Domain name of default WordPress website */
define('DOMAIN_CURRENT_SITE', APP_HOST);

(Обратите внимание, что наша папка wp-content отделена от нашей папки WordPress, наш параметр настройки, так что мы можем обновлять WP из git и не [это я знаю] требуется).

Оттуда он должен "обновиться" в зависимости от того, под каким именем хоста работает ваш сервер. Ограничения, которые мы обнаружили, заключаются в том, что встроенный веб-сервер не будет запускать SSH (следовательно, не SSH Admin) и что он не выполняет перенаправление /wordpress/wp-admin. Поэтому, чтобы попасть в wp-admin, вам нужно использовать local.sitename.com/wordpress/wp-admin/, чтобы туда попасть. Конечный слеш также важен, так как не добавляет его автоматически.

Другие вопросы по тегам