サポート » 使い方全般 » パーマリンクに.htmlを入れるとページが表示できません。

  • 解決済 amachang

    (@amachang)


    パーマリンク設定のカスタム構造で、多くの方がされているように
    /%category%/%post_id%.html
    と設定しましたが、ページを更新してサイトを表示すると、
    以下のメッセージが出てしまいます。

    <?php
    /**
    * Front to the WordPress application. This file doesn’t do anything, but loads
    * wp/wp-blog-header.php which does and tells WordPress to load the theme.
    *
    * @package WordPress
    */

    /**
    * Tells WordPress to load the WordPress theme and output it.
    *
    * @var bool
    */
    define(‘WP_USE_THEMES’, true);

    /** Loads the WordPress Environment and Template */
    require(‘./wp/wp-blog-header.php’);
    ?>

    デフォルト設定やその他のパーマリンク設定ですと、正常に表示されるのですが、
    .htmlをつけた場合に限り、上記メッセージが表示されるのです。

    どなたか解決法をご存じでないでしょうか?

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • これは現在使っているサーバーの設定が、PHPファイルの認識を.phpという拡張子のみになっている(大抵はそうなっているケースが多いようです)ことに起因するエラーで、結果、.htmlという拡張子のファイルがPHPを含んでいることをサーバー上がわからないため、不明なタグとしてそのまま出力している、ということになります。

    ですので、お使いのサーバーがApache(多くの場合これです)なら、.htaccessファイルに次の記述をすれば.htmlの拡張子でもPHPが利用可能になり、エラーが表示されなくなると思います。

    AddType application/x-httpd-php .php .html

    トピック投稿者 amachang

    (@amachang)

    V.J.Catkickさん、お返事ありがとうございます!
    たいへん勉強になります。

    サーバーはお名前のSDサーバーで、調べたところApache 2.2を使用していました。

    .htaccessには現在以下のように記述されています。

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /new/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /new/index.php [L]
    </IfModule>

    # END WordPress

    教えていただいた、
    AddType application/x-httpd-php .php .html
    ですが、この中のどこにどのように記述すればよいのでしょうか?

    # BEGIN WordPress
    の上にそのまま記述して試してみましたが、画面が真っ白になって
    やはり表示されませんでした。ソースを見ると、私が質問で書いた
    ソースが記述されていました。

    WordPress初心者のため、初歩的なことが分からずに困っています。
    ご教示いただけましたら助かります。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    .htmlをつけた場合に限り、上記メッセージが表示されるのです。

    既存のウェブサイトや別 CMS のコンテンツを WordPress に載せ替えるのでない限り、パーマリンクに html をつけるべきではありません。ですので、html なしのパーマリンク構造をお使いになることをおすすめします。

    参考: クールな URI は変わらない

    巷には「html をつけると SEO に効果がある」と書いてある文書がありますが、まったく根拠がありません。トラブルを減らすためにも「拡張子なし」「スラッシュで終わる URL」がベストです。

    トピック投稿者 amachang

    (@amachang)

    lilyfanさん、ご返答ありがとうございます。
    なるほど、勉強になりました!

    多くの方がされているので、普通にできるのかと思っていましたが、
    そうではないのですね。

    AddTypeを追加しても表示されない場合はちょっと根っこが深くて、もしかしたら.htmlを使うのは難しいかも知れません。

    パーマリンクに html をつけるべきではありません。

    私は経験の浅い方に対してのこの書き方には反対ですが、特別な理由においてhtmlにこだわらなければならないのでない限り、phpという拡張子でも問題ないと思われますが、いかがでしょうか。

    また、「拡張子なし」「スラッシュで終わるURL」がパーマリンク(つまり特定のページを指し示すURL)に望ましいという部分ですが、本来は逆で、「予約されたファイル名なら最後のスラッシュ以降は省略することが出来る」→「だから誤解を招かないようにスラッシュで終わる方がWordPressの場合はベスト」と理解した方がよろしいかと。

    本来URLはきちんと最後まで入力するべきものなのですから。

    トピック投稿者 amachang

    (@amachang)

    V.J.Catkickさん、お返事ありがとうございます。
    なるほどよく分かりました。
    htmlにしなければ、問題なく表示されますので、
    今回は断念したいと思います。

    色々と教えていただき感謝いたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「パーマリンクに.htmlを入れるとページが表示できません。」には新たに返信することはできません。