WordPressサイトの設定中に静的HTMLページを表示する方法は?


8

Wordpressをインストールしたところです。[ルートフォルダ] /index.htmlにWordpress以外のスプラッシュページがあります。Wordpressのスキニングに取り組んでいる間、スプラッシュページを上げておきたいです。index.php(ルートフォルダにもある)にアクセスしようとすると、URLがindex.htmlに書き換えられます。URLにindex.htmlは表示されませんが、スプラッシュページがあり、Wordpressが表示されません。

Wordpressの管理者に問題なくアクセスできます。Wordpressを公開せずにアクセスする方法を知っている人はいますか?


3
WordPressプラグインUnder Constructionを使用できます。
2012年

回答:


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がルートから提供される理由については、通常、index.phpがindex.phpに優先するためです。これを変更したい場合は、DirectoryIndexを変更する必要があります。

編集:それは明白だと思いましたが、明確にするために、127.0.0.1をパブリックIPアドレスに変更する必要があります。また、302はTemporary Redirectであることにも注意してください。


2
私は他の人の回答にコメントすることはできませんように、私は同じように、私は本当に@s_ha_dumの答えのようしかし、あなたは注意する必要があることを状態したいWordpressのコーデックスは:明記 DOはに役割名を渡していないcurrent_user_can()、これはに保証されていないとして、正しく動作します。
Sunyatasattva

私はあなたの提案を試みました、そしてそれは効果がありません。index.htmlを表示したい。Wordpressページのindex.phpにも手動でアクセスしたいと思います。しかし、それによりindex.htmlにリダイレクトされます。なぜ「スプラッシュページにリダイレクトする」と言っているのかわかりません。それはまさに私が起こりたくないことです。.htaccessを完全にクリアしても、最終的には書き換えが発生します。
4thSpace、

@Sunyatasattva、ソースコードは「@param string $ capability Capability or role name」と言っています。。それがいつコーデックスに追加されたのか、誰が追加したのでしょうか?
s_ha_dum 2012年

@ 4thSpace私が理解している限り、Wordpressを稼働させることなく完全にアクセスし、許可されていないユーザーをindex.htmlと呼ばれるカスタムスプラッシュページにリダイレクトする必要がありました。「スプラッシュページにリダイレクトする」と言ったときは、自分ではなく他のユーザーをスプラッシュページにリダイレクトすることを意味していました。まず、私の提案が機能するために、127.0.0.1をパブリックIPに編集しましたか?
Sunyatasattva

はい-パブリックIPを変更しました。
4thSpace、

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

これを達成する最も簡単な方法は、ルートWebディレクトリの.htaccessファイルを編集して、これを一番上に置くことです。

DirectoryIndex index.html index.php

これにより、Apacheが使用するファイルを選択する優先順位が入れ替わります。


既存のhtmlサイトとインデックスページがhtmlであるwpページを追加したいという私の要件に適しています。
Sajal

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を参照)。少なくとも、リンクしている情報の要約を含めるようにしてください。
Rarst、2013年

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を検索することを意味します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.