¿Cómo mostrar una página HTML estática mientras se configura un sitio WordPress?

29 nov 2012, 17:03:28
Vistas: 27.4K
Votos: 9

Acabo de instalar WordPress. Tengo una página de inicio no WordPress en [carpeta raíz]/index.html. Me gustaría mantener la página de inicio mientras trabajo en la apariencia de WordPress. Cuando intento acceder a index.php (también en la carpeta raíz), reescribe la URL a index.html. No veo index.html en la URL pero la página de inicio está ahí y nunca veo WordPress.

Puedo acceder al panel de administración de WordPress sin problemas. ¿Alguien sabe cómo puedo acceder a WordPress sin hacerlo público?

1
Comentarios

Podrías usar el plugin de WordPress Under Construction.

realloc realloc
29 nov 2012 17:17:29
Todas las respuestas a la pregunta 5
7

Puedes usar un plugin (como wp-maintenance-mode) o codificar manualmente tu archivo .htaccess para redirigir a la página de presentación, permitiendo que tu propia IP (o la de tu equipo) ignore la redirección. Así:

<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>

Respecto a tu duda sobre por qué se sirve index.html desde la raíz, es porque normalmente tiene prioridad sobre index.php. Si deseas cambiar esto, tendrías que modificar el DirectoryIndex.

EDIT: Pensé que era obvio, pero, para mayor claridad: 127.0.0.1 debería cambiarse por tu dirección IP pública. También ten en cuenta que 302 es Redirección Temporal, que es lo que queremos.

29 nov 2012 17:21:20
Comentarios

Como no puedo comentar en las respuestas de otras personas, solo me gustaría mencionar que realmente me gusta la respuesta de @s_ha_dum, pero debes tener cuidado ya que el Wordpress Codex establece claramente:

No pases un nombre de rol a current_user_can(), ya que no está garantizado que funcione correctamente.

Sunyatasattva Sunyatasattva
29 nov 2012 17:25:34

Probé tu sugerencia y no tuvo efecto. Quiero que se muestre index.html. También quiero acceder manualmente a la página index.php de Wordpress. Pero eso causa la redirección a index.html. No estoy seguro de por qué dices "redirigir a la página de inicio". Eso es exactamente lo que no quiero que suceda. Incluso si elimino completamente .htaccess, sigo teniendo reescrituras.

4thSpace 4thSpace
29 nov 2012 17:43:55

@Sunyatasattva, el código fuente dice "@param string $capability Capability or role name.". Me pregunto cuándo se agregó eso al Codex, o por quién.

s_ha_dum s_ha_dum
29 nov 2012 19:13:27

@4thSpace Según lo que había entendido, querías tener acceso completo a Wordpress sin que estuviera en vivo y redirigir a los usuarios no autorizados a una página de presentación personalizada que llamaste index.html. Cuando dije "redirigir a la página de presentación" me refería a redirigir a otros usuarios a esa página, no a ti mismo. En primer lugar, para que mi sugerencia funcione, ¿has editado el 127.0.0.1 por tu IP pública?

Sunyatasattva Sunyatasattva
29 nov 2012 20:08:32

Sí, cambié mi IP pública.

4thSpace 4thSpace
29 nov 2012 20:15:13

@s_ha_dum De hecho tienes razón. Quizás la advertencia se refiere al hecho de que pasar el nombre del rol en mayúsculas no va a funcionar correctamente, de ahí lo de "no garantizado". No estoy seguro.

Sunyatasattva Sunyatasattva
29 nov 2012 20:15:18

@4thSpace Entonces deberías poder ver correctamente index.php al acceder a la raíz. Intenta renombrar index.html a algo que no tenga un significado particular para el servidor (como splashpage.html). También, intenta cambiar la dirección IP que está permitida para verificar si los usuarios no autorizados son redirigidos correctamente a tu página de inicio.

Sunyatasattva Sunyatasattva
29 nov 2012 20:17:07
Mostrar los 2 comentarios restantes
1

Creo que la forma más sencilla de lograr esto es editando el archivo .htaccess en el directorio raíz de la web y colocar esto al inicio:

DirectoryIndex index.html index.php

Esto cambia el orden de prioridad en el que Apache elige qué archivo usar.

4 sept 2017 11:59:56
Comentarios

se ajusta a mi requisito donde quiero agregar páginas de WP con un sitio HTML existente y la página de índice siendo HTML.

Sajal Sajal
5 dic 2018 15:52:12
0

Prueba esto.

function temp_page_redirect() {
    if (!current_user_can('administrator')) {
        wp_safe_redirect('temp.html',307);
    }
}
add_action('template_redirect','temp_page_redirect');

No usé index.html porque ese nombre de archivo tiene un significado especial para el servidor. El '307' es un código de estado que significa redirección temporal. Asumí que el rol de 'administrador' necesita acceso :)

29 nov 2012 17:20:41
2

Esto funciona perfectamente. Añade una nueva carpeta de plugin con este archivo como index.php.

Del hilo de soporte:

"Para responder a la pregunta original, puedes desactivar la redirección canónica colocando esto en tu directorio de plugins -"

<?php
/*
Plugin Name: Desactivar Redirección URL Canónica
Description: Desactiva las funciones de "Redirección URL Canónica" de WordPress 2.3 y versiones superiores. 
Version: 1.0
Author: Mark Jaquith
Author URI: http://markjaquith.com/
*/

remove_filter('template_redirect', 'redirect_canonical');

?>

Esto parece haber ayudado a mucha gente allí, y podría ser una respuesta adecuada aquí también.

29 nov 2012 17:59:00
Comentarios

Un enlace solitario se considera una respuesta deficiente (ver [FAQ#deletion]) ya que carece de significado por sí mismo y el recurso de destino no está garantizado que permanezca disponible en el futuro. Por favor, intenta incluir al menos un resumen de la información a la que enlazas.

Rarst Rarst
26 may 2013 22:21:25
  1. Abre tu sitio con un programa FTP
  2. navega hasta /wp-content/plugins/
  3. crea una nueva carpeta con cualquier nombre
  4. crea un index.php y coloca el código PHP de los comentarios del código anterior (usa todo lo que está en el cuadro de código de arriba) y copia en tu nueva carpeta
  5. visita el panel de administración de WordPress y activa este nuevo plugin
Andy Andy
18 mar 2019 22:48:21
0

Prueba esto en tu archivo htaccess:

DirectoryIndex index.html index.php

Este código significa que Apache buscará primero index.html, y si no existe, entonces buscará index.php

15 feb 2019 18:19:19