Wie zeige ich eine statische HTML-Seite beim Einrichten einer WordPress-Site an?

8

Ich habe gerade Wordpress installiert. Ich habe eine Nicht-Wordpress-Begrüßungsseite unter [Stammordner] /index.html. Ich möchte die Begrüßungsseite auf dem neuesten Stand halten, während ich am Skinnen von Wordpress arbeite. Wenn ich versuche, auf index.php zuzugreifen (auch im Stammordner), wird die URL in index.html neu geschrieben. Ich sehe index.html nicht in der URL, aber die Begrüßungsseite ist da und ich sehe nie Wordpress.

Ich kann ohne Probleme auf den Wordpress-Administrator zugreifen. Weiß jemand, wie ich auf Wordpress zugreifen kann, ohne es live zu schalten?

4thSpace
quelle
3
Sie können das WordPress-Plugin Under Construction verwenden .
Realloc

Antworten:

6

Verwenden Sie entweder ein Plugin (wie den wp-Wartungsmodus ) oder codieren Sie Ihre .htaccess-Datei fest, um zur Begrüßungsseite umzuleiten, und lassen Sie Ihre eigene (oder die Ihres Teams) IP-Adresse die Umleitung ignorieren. So was:

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

In Bezug auf Ihren Zweifel, warum index.html von root bereitgestellt wird, liegt dies daran, dass es normalerweise Vorrang vor index.php hat. Wenn Sie dies ändern möchten, müssen Sie den DirectoryIndex ändern.

EDIT: Ich dachte, es wäre offensichtlich, aber der Klarheit halber sollte 127.0.0.1 in Ihre öffentliche IP-Adresse geändert werden. Beachten Sie auch, dass 302 eine temporäre Umleitung ist, was wir wollen.

Sunyatasattva
quelle
2
Da ich die Antworten anderer Personen nicht kommentieren kann, möchte ich nur sagen, dass mir die Antwort @s_ha_dum wirklich gefällt, aber Sie sollten vorsichtig sein, da im Wordpress-Kodex eindeutig angegeben ist: Geben Sie keinen Rollennamen an weiter current_user_can(), da dies nicht garantiert ist richtig arbeiten.
Sunyatasattva
Ich habe Ihren Vorschlag ausprobiert und er hat keine Wirkung. Ich möchte, dass index.html angezeigt wird. Ich möchte auch manuell auf die Wordpress-Seite index.php zugreifen. Dies führt jedoch dazu, dass die Umleitung zu index.html erfolgt. Ich bin nicht sicher, warum Sie "Weiterleiten zur Begrüßungsseite" sagen. Genau das möchte ich nicht tun. Selbst wenn ich .htaccess vollständig lösche, schreibe ich immer noch neu.
4. Raum
@Sunyatasattva, der Quellcode lautet "@param string $ Capability Capability oder Rollenname ". . Ich frage mich, wann das in den Kodex aufgenommen wurde oder von wem?
s_ha_dum
@ 4thSpace Soweit ich verstanden habe, wollten Sie vollen Zugriff auf Wordpress haben, ohne dass es live geschaltet wird, und Benutzer umleiten, die nicht zu einer benutzerdefinierten Begrüßungsseite führen dürfen, die Sie index.html genannt haben. Als ich "Auf die Begrüßungsseite umleiten" sagte, meinte ich, andere Benutzer auf die Begrüßungsseite umzuleiten, nicht Sie selbst. Haben Sie zunächst, damit mein Vorschlag funktioniert, die 127.0.0.1 in Ihre öffentliche IP-Adresse geändert?
Sunyatasattva
Ja - ich habe meine öffentliche IP geändert.
4. Raum
1

Versuche dies.

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

Ich habe es nicht verwendet, index.htmlweil dieser Dateiname für den Server eine besondere Bedeutung hat. Der '307' ist ein Statuscode, der temporäre Umleitung bedeutet. Ich nahm an, dass die 'Administrator'-Rolle Zugriff benötigt :)

s_ha_dum
quelle
1

Ich bin der Meinung, dass die einfachste Methode, dies zu erreichen, darin besteht, die .htaccess-Datei im Root-Webverzeichnis zu bearbeiten und oben zu platzieren:

DirectoryIndex index.html index.php

Dadurch wird die Prioritätsreihenfolge vertauscht, in der Apache die zu verwendende Datei auswählt.

Jayden Lawson
quelle
passt zu meiner Anforderung, wo ich wp-Seiten hinzufügen möchte, wobei die vorhandene HTML-Site und die Indexseite HTML sind.
Sajal
0

Das funktioniert perfekt . Fügen Sie einen neuen Plugin-Ordner mit dieser Datei als index.php hinzu.

Aus dem Support-Thread:

"Um die ursprüngliche Frage zu beantworten, können Sie die kanonische Umleitung deaktivieren, indem Sie diese in Ihr Plugins-Verzeichnis stellen -"

<?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'); 

?>

Dies schien vielen Menschen dort zu helfen und könnte auch hier eine richtige Antwort sein.

4thSpace
quelle
1
Lone Link wird als schlechte Antwort angesehen (siehe FAQ ), da es für sich genommen bedeutungslos ist und nicht garantiert wird, dass die Zielressource in Zukunft lebendig bleibt. Bitte versuchen Sie, mindestens eine Zusammenfassung der Informationen beizufügen, auf die Sie verlinken.
Erst
1. Öffnen Sie Ihre Site mit einem FTP-Programm. 2. Navigieren Sie zu / wp-content / plugins /. 3. Erstellen Sie einen neuen Ordner mit einem beliebigen Namen. 4. Erstellen Sie eine index.php und geben Sie den PHP-Code aus den obigen Codekommentaren ein (verwenden Sie alles in der Code-Box oben) und kopieren Sie in Ihren neuen Ordner 5. Besuchen Sie Ihr WordPress-Backend und aktivieren Sie dieses neue Plugin
Andy
0

Versuchen Sie dies in Ihrer htaccess-Datei:

DirectoryIndex index.html index.php

Dieser Code bedeutet, dass Apache zuerst nach index.html sucht und wenn es nicht existiert, dann nach index.php sucht

gtamborero
quelle