管理画面の設定
からブログのアドレス (URL)もhttp://example.com/home.phpへ変更しました。
この設定は間違いです。ここの URL はあくまでディレクトリーを示す URL を入力します。index.php ファイル自体を指定するものではありません。
index.phpの場合はうまくいくのですが、http://example.com/でアクセスした場合、
index.htmlを表示させたいので、
ブログ画面とは違って、手書きで作った index.html を表示させるということでしょうか?
それならば、WordPress の機能として、固定ページをトップページにする仕組みがあるので、それを使ってみてください。index.html で表示させたい内容を固定ページとして作成し、そのページをトップページとすれば OK です。
この設定は間違いです。ここの URL はあくまでディレクトリーを示す URL を入力します。index.php ファイル自体を指定するものではありません。
ええ。それは知っています。
なので【(http://example.com/の設定だとindex.htmlが表示されるので)】と
書いておきました。
固定ページをトップページにする仕組みがあるのは知ってますが、Blogタイトルを
クリックするとhttp://example.com/へ戻りまた固定ページが表示されますよね?
http://example.com/へアクセスするとindex.htmlが表示され、
index.htmlのLinkをクリックするとBlogの記事一覧?
(インストール直後のWordPressを表示した時の画面)
を表示させ、それ以降はBlogタイトル(Linkあり)をクリックした時に
Blogの記事一覧へ戻したいのです。
index.html(固定ページ)の表示は初回の1回だけで後はBlogの記事一覧を
表示したいのですがそいうのは可能でしょうか?
別のCMSなら可能でしたのでそちらを使います。
回答どうもです。
lilyfan さんの説明なさっている方法で実現できたと思うのですが、残念です。補足すると
1. ブログ用のページテンプレートをご利用のテーマのフォルダ内に以下のように作成します (ここではファイル名を page-blog.php とします)。通常は index.php を include するだけでいいと思います。
<?php
/*
Template Name: Blog
*/
include TEMPLATEPATH . '/index.php';
?>
1. index.html の内容を、以下のような体裁で、ご利用のテーマのフォルダ内にページテンプレートとして作成します (ここではファイル名を front_page.php とします)。
<?php
/*
Template Name: FrontPage
*/
?>
<html>
<head>
<title></title>
</head>
<body>
<h1><a href="<?php bloginfo('siteurl'); ?>/blog/"><?php bloginfo('name'); ?></a></h1>
</body>
</html>
リンクの /blog/ 部分は、以下で設定する、ブログページのスラッグにします (ここでは blog)。
3. 管理 > ページ作成 で、タイトルだけの「フロントページ」と「ブログページ」を作成し、ページテンプレートをそれぞれ、 1 で作成した「FrontPage」、 2 で作成した「Blog」に設定し、ブログページのスラッグを blog などとします。
4. 管理 > 設定 > 表示設定 の「トップページの表示」にて、トップページを「フロントページ」、ブログページを「ブログページ」に設定します。
5. テーマの header.php または index.php などのタイトル部分のリンクを修正します。 (/ を /blog/ など)
6. 必要に応じてパーマリンク構造をカスタマイズします。
再Openしました。
mizubeさん
レスどもです。
でもこれだとhttp://example.com/blogとURLがなりますよね。
http://example.com/blog.htmlで見せるのは無理なのかな?
(スラッグは「.」は消えますからね・・・)
他に手ありませんか?
でもこれだとhttp://example.com/blogとURLがなりますよね。
http://example.com/blog.htmlで見せるのは無理なのかな?
「URI の永続性」という点からは、http://example.com/blog という URL の方が好ましいため、あえて blog.html にする意味はほとんどありません。「クールな URI は変わらない」を読んでみてください。
どうしても html をつける必然性があるとしたら、すでにそういう URL を持つウェブサイトがあって、それを WordPress に移行させる場合でしょうか。この場合、パーマリンク設定で、「.html」を含む指定をせざるを得ないでしょう。
もうちょっと、やりたいことの詳細を教えてもらえるでしょうか。
もし、「拡張子 html がついた方が SEO に有利だ」と思っているのならば、それはほぼ間違いなので、考え直した方がよいです。HTTP の仕組みを考えると、拡張子には意味がないですし、URL に意味を持たせるならば、拡張子がない方がむしろ有利なはずです。
lilyfanさん
レスどうもです。
どうしても html をつける必然性があるとしたら、すでにそういう URL を持つウェブサイトがあって、それを WordPress に移行させる場合でしょうか。この場合、パーマリンク設定で、「.html」を含む指定をせざるを得ないでしょう。
主な原因はこれです。
すでにHTMLで作っているサイトがありそれをWordPressで構成をそのままもっていきたいのです。
かなりのページ数があり、ページ単位(example.htmlとか)でお気に入りにいれてアクセスされてるので変更を可能な限りしたくないのです。
少し別件になるんですが、1点教えて欲しいのです。
この設定でhttp://example.com/でアクセスし、http://example.com/blogへ飛んで、サーチをした時に、何もキーワードを入れないで検索をするとhttp://example.com/へ戻ります。
searchform.phpないで、
<form method="get" name="searchform" id="searchform" action="<?php bloginfo('home'); ?>/">
とあったのを
<form method="get" name="searchform" id="searchform" action="<?php bloginfo('home'); ?>/blog/">
へ変えると何もキーワードを入れないで検索をしてもhttp://example.com/blogへ戻るのですが、検索が正常に動かないのです。
検索もちゃんと動き、何もキーワードを入れないで検索した場合、http://example.com/blogへ戻すようにできないでしょうか?
すでにHTMLで作っているサイトがありそれをWordPressで構成をそのままもっていきたいのです。
なるほど。この場合はかなり苦労しないといけませんね。ある程度は URL の変更が必要で、Apache の mod_rewrite もしくは Redirect 指定を行う必要があります。
まず、フロントページとなる index.html ですが、こればっかりはリダイレクトが必要です。他にも、サブディレクトリーの index.html もすべてリダイレクトをかけてディレクトリーだけの URL に誘導しないといけなさそうです ( http://example.jp/sub/index.html → http://example.jp/sub/ など)
ただ、WordPress で “.html” つきの URL を生成するのはちょっと難しい (特に固定ページ) ので、あっさり全ページをリダイレクトさせた方が楽かもしれません。
パーマリンクをいじる系のプラグインを使う/作るという手もありますが、数が少ないのが実情です (わたしも自分専用にパーマリンクをいじるプラグインを作っています)。
URL 体系は「設計」になるので、現在のディレクトリー構成が分からないと、的確なアドバイスはちょっとやりにくいです。
lilyfanさん
レスどうもです。
なんとか意図する表示にできました。
ご回答ありがとうです。