htmlでphp(WordPress)を動かす

このQ&Aのポイント
  • WordPress外のindex.htmlにブログの更新情報を表示させたいと考えています。
  • 拡張子が変わることで、ファイルが別物扱いになりこれまでのSEO効果が無くなってしまうようなことを避けたいと考えています。
  • TOPページのindex.htmlのみ、phpが使用できる方法はないでしょうか?
回答を見る
  • ベストアンサー

htmlでphp(WordPress)を動かす

WordPress外のindexhtmlにブログの更新情報を表示させたいと考えています。 そこで、<?php require_once('../wp/wp-blog-header.php'); ?>をhtml内に置き、 ブログのタイトルを取得する構文を書き、phpを動作させる為表示させる為に、 通常であれば、index.html→index.phpに変更する必要があります。 しかし拡張子が変わる事で、ファイルが別物扱いになりこれまでのSEO効果が無くなってしまうような事を聞いたのですが、そこは避けたいと考えています。 調べた方法として、 htmlでphpを動かすため、.htaccessに「AddType application/x-httpd-php .htm .html」を記述する方法があるようですが、サーバー内の全て.phpに変わり、サーバーにも負荷が掛かり、そもそも上記の記述はサーバーの制約で使えないようでした。 TOPページのindex.htmlのみ、phpが使用できる方法はないでしょうか? 宜しくお願い致します。

  • PHP
  • 回答数2
  • ありがとう数13

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

CGIとかの制約がややこしいなら 逆にindex.htmlへのアクセスを index.phpにurl rewriteしちゃうというのはどうでしょう

matsuch
質問者

お礼

ありがとうございます。 お知らせ頂いた方法でうまくいきました!

その他の回答 (1)

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

>TOPページのindex.htmlのみ、phpが使用できる方法はないでしょうか? AddType を <Files "index.html">(と</Files>)で括ればいいのでは? http://httpd.apache.org/docs/2.2/ja/mod/core.html#files なお、AddTypeで間違いないかどうかはサーバ管理者に確認してください(サーバによって違ってきます)。 ・・・あ、「そもそも上記の記述はサーバーの制約で使えないようでした」ってことなら、やりようはないですね。でも「ようでした」なんて不確実な情報はどこからのものでしょうか? 面倒ならインラインフレームでRSSリーダでも埋め込めばいいと思うんですけどね。「ブログのタイトルを取得する構文を書き」なんて自分でやらなくていいしww

matsuch
質問者

お礼

サーバーに確認するのはやはり大事ですね。 ありがとうございました。

関連するQ&A

  • wordpressのサイトURLの変更

    http://www.○○○/ → http://www.○○○/blog index.phpの17行目を /** Loads the WordPress Environment and Template */ require('./blog/wp-blog-header.php'); ?> にすればいいのでしょうか? またindex.phpと.htaccessはどこにUPすればいいのでしょうか?

    • ベストアンサー
    • PHP
  • wordpressのサイトアドレスの設定について

    04webserverを使い 自宅サーバーを設置し、wordpressをインストールしたんですが wordpressのサイトアドレスの設定を WordPress アドレス (URL) http://www.example.xyz/wordpress サイトアドレス (URL) http://www.example.xyz/wordpress の時にはトップページの表示や投稿した記事は正常に表示されるのですが WordPress アドレス (URL) http://www.example.xyz/wordpress サイトアドレス (URL) http://www.example.xyz/ に変更するとトップページが404で表示できなくなりました index.phpを開き index.phpの中の require(‘./wp-blog-header.php’); を require(‘./wordpress/wp-blog-header.php’); と書き換えたんですがそれでも404になります 他に設定をどうすればいいのでしょうか? 04webserverは.htaccessの設定ができないらしく、 04webserver自身の設定もinde.phpがindex.htmlよりも先に表示するように 設定済みです

    • 締切済み
    • PHP
  • PHPとshtmlのhtml化共存方法を知りたいです。

    宜しくお願いします。 現在サーバーで何故か拡張子、.phpと.shtmlが共存している部分があります。 そこで、全てをhtmlにしてやりたいのですが、一緒にする方法が分かりません。 色々調べた結果、各設定方法は分かりました。 phpの場合 AddType application/x-httpd-php .html shtmlの場合、 AddType text/x-server-parsed-html .html と記述するようで、個々で調べると確かに動作しました。 ただ、同じ.htaccess内に2つ同時に記述すると、phpの方だけ表示が出来なくなるのです・・・。 AddType application/x-httpd-php .html AddType text/x-server-parsed-html .html これらを実現する為にはどういう風に記述したらよいものでしょうか?? すみませんが、詳しい方がおられましたらアドバイスいただけないでしょうか? 宜しくお願いいたします。

  • wordpressが表示されない原因は?

    非常に困っております。 html文書にwordpressを組み込もうと思っています。 その前提として、httpd.confには AddType application/x-httpd-php .php .html が記述されてあります。 以下が問題のソースです。 <?php require('絶対パス(省略)/wp-blog-header.php'); ?> <?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?> <?php query_posts('showposts=1');?> <?php if(have_posts()):while(have_posts()):the_post(); ?> ~~~内容(省略)~~~~ <?php endwhile;endif; ?> <?php wp_reset_query()?> これをアップすると、ページは表示されますが、記事部分が表示されません。 ソースを見ると、 <?php require('絶対パス(省略)/wp-blog-header.php'); ?> <?xml version="1.0" encoding="UTF-8"?> ←★変わった部分 <?php query_posts('showposts=1');?> <?php if(have_posts()):while(have_posts()):the_post(); ?> ~~~内容(省略)~~~~ <?php endwhile;endif; ?> <?php wp_reset_query()?> となっています。 wp-blog-header.phpへの絶対パスに間違いは無く、 また、 <?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?> が <?xml version="1.0" encoding="UTF-8"?>となっていることから、 php命令文は解釈されている(動いている)と思われます。 ということは、wordpressを組み込むソースが悪いと思うのですが、 何が悪いのか全く分かりません。 絶対パスが間違っていれば、エラー表示になる(ページが表示されるはずない)と思うのですが、 サーバーによっては絶対パスが間違っていても、エラーが表示されなかったりするのでしょうか? ちなみに、wp-blog-header.phpは別ドメインで動かすので“絶対パス”指定は必然設定です。 wordpress熟練者の皆様、どうか力を貸してください。 よろしくお願いします。

  • htaccessのAddTypeが使えないサーバで.phpファイルを.htmlとして表示させる方法は?

    利用サーバではhtaccessのAddTypeが使えない機能制限があるそうで、サーバで.phpファイルを.htmlとして表示させることが、以下のhtaccessへの記述ではできません。 AddType application/x-httpd-php .php .html どこかに書いてあったので以下も試しましたがダメでした。 <FilesMatch "html$"> ForceType application/x-httpd-php </FilesMatch> どうにかして代替方法が欲しい状態でが何か良い方法がないでしょうか。 どうぞ宜しくお願い致します。

    • 締切済み
    • PHP
  • wordpressのURL変更について

    http://0000.com/wpをhttp://0000.comに変更をしようと思いました。 まず設定画面からサイトの名前をhttp://0000.com/wpからhttp://0000.comに変更し、 index.phpをFTPから抜き <?php /** * Front to the WordPress application. This file doesn't do anything, but loads * 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-blog-header.php'); ?> の↓を変更。 /** Loads the WordPress Environment and Template */ require('./wordpress/wp-blog-header.php'); ?> その後一つ上の層にindex.phpをあげたのですがサイトにアクセスすると、 Warning: require(./wordpress/wp-blog-header.php) [function.require]: failed to open stream: No such file or directory in /home/sites/heteml/users113/0/1/f/01f-boy/web/pimp/index.php on line 17 Warning: require(./wordpress/wp-blog-header.php) [function.require]: failed to open stream: No such file or directory in /home/sites/heteml/users113/0/1/f/01f-boy/web/pimp/index.php on line 17 Fatal error: require() [function.require]: Failed opening required './wordpress/wp-blog-header.php' (include_path='.:/usr/local/php5/php') in /home/sites/heteml/users113/0/1/f/01f-boy/web/pimp/index.php on line 17 と出てきてサイトが表示されません 。 wp-blog-header.phpがなにかあるのかと思い開けると下記のコードが書いてありました。 <?php /** * Loads the WordPress environment and template. * * @package WordPress */ if ( !isset($wp_did_header) ) { $wp_did_header = true; require_once( dirname(__FILE__) . '/wp-load.php' ); wp(); require_once( ABSPATH . WPINC . '/template-loader.php' ); } ?> しかし自分はphpがよくわからないためどこを変更すればhttp://0000.comでサイトが見れるのかわかりません。 教えてください。

    • ベストアンサー
    • PHP
  • URLの末尾からwordpress/をとりたい

    こんにちは。 初心者なので説明が下手ですが、相談させてください。 タイトルの通り、サイトURLの末尾からwordpress/をとろうとしています。 使用サーバーはさくらインターネットです。 次のサイトを参考にし、手順の通りに実行しました。 ☆  http://seo.siyo.org/wordpress/seo8019/ Wordpress管理画面からサイトURLを変更し、ルートディレクトリにindex.phpをコピーし、 テキストを次のように書きかえたところで URLからwordpress/がとれるはずとおもうのですが、 サイトの表示はhttp://○○○○.jp/wordpress/のままです。 この時サイトの表示はエラー404になっています。 実際書き換えた内容 require( dirname( __FILE__ ) . '/wp-blog-header.php' ); ↓ require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' ); すみませんが、考えられる原因を教えていただけますか。 よろしくお願いいたします。

  • wordpress サイトのルート

    wordpressを勉強しています。インストールは終えたのですが、サイトのルート表示の設定に躓いています。Giving WordPress Its Own Directory(http://wpdocs.sourceforge.jp/Giving_WordPress_Its_Own_Directory)を参考にしているのですが、サイトのルートにアクセスすると下記のエラーがでます。 どのようにしたらよいでしょうか。 エラー内容: Warning: require() [function.require]: Unable to access ./wp-blog-header.php in /virtual/***/public_html/index.php on line 17 Warning: require(./wp-blog-header.php) [function.require]: failed to open stream: No such file or directory in /virtual/***/public_html/index.php on line 17 Fatal error: require() [function.require]: Failed opening required './wp-blog-header.php' (include_path='.:/usr/local/lib/php') in /virtual/***/public_html/index.php on line 17

  • WORDPRESSブログのアドレス変更方法

    お世話になります。 ブログのアドレスを変更する方法として下記URLを参考にしながらすすめているのですが、該当ディレクトリ内にあるindex.php をテキストエディタで開いても、require('./wp-blog-header.php'); と記述されていません。 http://wpdocs.sourceforge.jp/Giving_WordPress_Its_Own_Directory 原因が分かれば教えていただきたくお願いいたします。

  • Wordpressのパーマリンク設定がうまく行かない

    不具合がお分かりになる方いらっしゃいましたら、教えてください。 朝から困り果てております。 Wordpressの設置について教えてください。 サーバーは借りています、iSLEで。 http://home.isle.ne.jp/support/index.html Windows Hosting Suiteというプランです。 ******.jp/wordpress/ へWordpressをインストールを行いました。 Wordpressのパーマリンクを下記の形で運用をしたいと考えております。 ******.jp/%category%/%postname%/ Wordpressのブログのアドレスを http://******.jp パーマリンク設定を /%category%/%postname%/ に設定して wwwrrotへ「index.php」と「.htaccess」を設置しましたが、真っ白の画面しか出てきません。初歩的なことで申し訳ありません。解決方法を教えて頂ければと思います。 下記は、index.phpと.htaccessの中身です。 ■↓index.php <?php /** * Front to the WordPress application. This file doesn't do anything, but loads * 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('./wordpress/wp-blog-header.php'); ?> ■↓.htaccess <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

専門家に質問してみよう