Как отобразить статическую HTML-страницу при настройке сайта WordPress?


8

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

Я могу получить доступ к администратору Wordpress без проблем. Кто-нибудь знает, как я могу получить доступ к Wordpress, не заставляя его жить?


3
Вы можете использовать плагин WordPress в стадии разработки .
realloc

Ответы:


6

Либо воспользуйтесь плагином (например, 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 обслуживается от root, то это потому, что он обычно имеет приоритет над index.php. Если вы хотите изменить это, вам придется изменить DirectoryIndex.

РЕДАКТИРОВАТЬ: Я думал, что это было очевидно, но, для ясности: 127.0.0.1 должен быть изменен на ваш публичный IP-адрес. Также обратите внимание, что 302 - это временное перенаправление, что мы и хотим.


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

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

@Sunyatasattva, в исходном коде написано «@param string $abilities Возможность или имя роли». , Интересно, когда это было добавлено в Кодекс или кем?
s_ha_dum

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

Да, я изменил свой публичный IP.
пространство

1

Попробуй это.

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» - это код состояния, означающий временное перенаправление. Я предположил, что роль администратора требует доступа :)


1

Я чувствую, что самый простой способ добиться этого - отредактировать файл .htaccess в корневом веб-каталоге и поместить его вверху:

DirectoryIndex index.html index.php

Это меняет порядок приоритетов, в котором Apache выбирает, какой файл использовать.


соответствует моему требованию, где я хочу добавить wp-страницы с существующим html-сайтом, а индексная страница - html.
Саджал

0

Это работает отлично . Добавьте новую папку плагина с этим файлом как index.php.

Из ветки поддержки:

«Чтобы ответить на исходный вопрос, вы можете отключить каноническое перенаправление, поместив его в каталог плагинов -»

<?php
/*
Plugin Name: Disable Canonical URL Redirection
Description: Disables the "Canonical URL Redirect" features of WordPress 2.3 and above.
Version: 1.0
Author: Mark Jaquith
Author URI: http://markjaquith.com/
*/ 

remove_filter('template_redirect', 'redirect_canonical'); 

?>

Это, казалось, помогло многим людям там, и могло бы быть правильным ответом и здесь.


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

1. Откройте свой сайт с помощью программы FTP 2. Перейдите в / wp-content / plugins / 3. Создайте новую папку с любым именем 4. Создайте index.php и поместите код PHP из комментариев кода выше (используйте все в кодовое поле выше) и скопируйте его в новую папку. 5. Посетите свой бэкэнд
Andy

0

Попробуйте это в своем файле htaccess:

DirectoryIndex index.html index.php

Этот код означает, что apache сначала будет искать index.html, а если он не существует, будет искать index.php

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.