Как отобразить статическую HTML-страницу при настройке сайта WordPress?
Я только что установил WordPress. У меня есть не-WordPress заглушка по адресу [корневая папка]/index.html. Я хотел бы оставить эту заглушку активной, пока я работаю над оформлением WordPress. Когда я пытаюсь получить доступ к index.php (также в корневой папке), URL переписывается на index.html. Я не вижу index.html в URL, но отображается заглушка, и я никогда не вижу WordPress.
Я могу получить доступ к панели администратора WordPress без проблем. Кто-нибудь знает, как я могу получить доступ к WordPress, не делая его публичным?

Используйте плагин (например, wp-maintenance-mode) или вручную настройте файл .htaccess для перенаправления на заставку, разрешив вашему (или вашей команды) IP-адресу игнорировать это перенаправление. Например:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1
RewriteCond %{REQUEST_URI} !/splashpage.html$ [NC]
RewriteRule .* /maintenance.html [R=302,L]
</IfModule>
Что касается вашего вопроса, почему index.html загружается из корня — это связано с тем, что он обычно имеет приоритет над index.php. Если вы хотите изменить это поведение, вам нужно изменить директиву DirectoryIndex.
ПРИМЕЧАНИЕ: Для ясности — 127.0.0.1 следует заменить на ваш публичный IP-адрес. Также обратите внимание, что код 302 означает временное перенаправление, что нам и нужно.

Поскольку я не могу комментировать ответы других людей, я просто хочу сказать, что мне очень нравится ответ @s_ha_dum, но вам следует быть осторожным, так как в Wordpress Codex четко указано:
Не передавайте название роли в current_user_can()
, так как это не гарантирует корректную работу.

Я попробовал ваше предложение, но оно не дало эффекта. Я хочу, чтобы отображался index.html. Также я хочу вручную обращаться к wordpress-странице index.php. Но это вызывает редирект на index.html. Я не совсем понимаю, почему вы говорите "редирект на splash-страницу". Это именно то, чего я не хочу. Даже если я полностью очищу .htaccess, редиректы все равно происходят.

@Sunyatasattva, в исходном коде указано "@param string $capability Capability или название роли.". Интересно, когда это было добавлено в Codex или кем?

@4thSpace Насколько я понял, вы хотели иметь полный доступ к WordPress без его публикации и перенаправлять пользователей, которым доступ запрещён, на кастомную страницу-заставку, которую вы назвали index.html. Когда я сказал "перенаправлять на страницу-заставку", я имел в виду перенаправлять других пользователей, а не вас самих. Прежде всего, для работы моего предложения, вы изменили 127.0.0.1 на ваш публичный IP?

@s_ha_dum Действительно, вы правы. Возможно, предупреждение относится к тому, что передача имени роли в верхнем регистре не будет работать корректно, отсюда "не гарантируется"? Не уверен.

@4thSpace Тогда вы должны корректно видеть index.php при обращении к корню. Попробуйте переименовать index.html во что-то, что не имеет особого значения для сервера (например, splashpage.html). Также попробуйте изменить IP-адрес, которому разрешён доступ, чтобы проверить, правильно ли неавторизованные пользователи перенаправляются на вашу splash-страницу.

Я считаю, что самый простой способ добиться этого — отредактировать файл .htaccess в корневой директории сайта и добавить в начало следующую строку:
DirectoryIndex index.html index.php
Это изменит порядок приоритета, в котором Apache выбирает файл для использования.

Попробуйте этот вариант.
function temp_page_redirect() {
if (!current_user_can('administrator')) {
wp_safe_redirect('temp.html',307);
}
}
add_action('template_redirect','temp_page_redirect');
Я не использовал index.html
, потому что это имя файла имеет особое значение для сервера. '307' — это код состояния, означающий временное перенаправление. Я предположил, что роль 'administrator' должна иметь доступ :)

Это работает идеально. Добавьте новую папку плагина с этим файлом в качестве index.php.
Из ветки поддержки:
"Чтобы решить исходный вопрос, вы можете отключить каноническое перенаправление, поместив это в директорию плагинов -"
<?php
/*
Plugin Name: Отключение канонического перенаправления URL
Description: Отключает функцию "Каноническое перенаправление URL" в WordPress 2.3 и выше.
Version: 1.0
Author: Mark Jaquith
Author URI: http://markjaquith.com/
*/
remove_filter('template_redirect', 'redirect_canonical');
?>
Это помогло многим людям в той ветке и может быть правильным решением здесь.

Одиночная ссылка считается плохим ответом (см. [FAQ#deletion]), так как сама по себе она бессмысленна, а целевой ресурс не гарантированно будет доступен в будущем. Пожалуйста, попробуйте включить хотя бы краткое содержание информации, на которую ссылаетесь.

- Откройте ваш сайт через FTP-клиент
- перейдите в папку /wp-content/plugins/
- создайте новую папку с любым именем
- создайте файл index.php и поместите в него PHP-код из комментариев выше (используйте всё, что находится в кодовом блоке выше), затем скопируйте его в новую папку
- зайдите в админку WordPress и активируйте этот новый плагин
