phpで外部ファイルを読み込んだ際のURLについて

このQ&Aのポイント
  • Webサイト全ページのヘッダーとサイドバー、フッターは同じ内容です。そのため、Webサイトを更新するときの作業効率を考えて外部読み込みをしようと思っております。
  • index.phpの読みこませたい部分に、phpのincludeを使ってheader.htmlを読み込むことで、読み込みに成功しております。
  • しかし、全てのページのurlの拡張子がphpになってしまいます。これにより、seoやユーザービリティに影響があるかどうかは異論がありますが、urlに表記されるphpの部分をhtmlのままにする方法があるかどうかは不明です。
回答を見る
  • ベストアンサー

phpで外部ファイルを読み込んだ際のURLについて

Webサイト全ページのヘッダーとサイドバー、フッターは同じ内容です。 そのため、Webサイトを更新するときの作業効率を考えて外部読み込みをしようと思っております。 以下の手順で、phpのincludeを使って、一応読みこむことはできました。 (1)「index.html」を「index.php」に拡張子を変更 (2)「index.php」の読みこませたい部分に次のように記述 <?php include('./header.html'); ?> (3)「header.html」を作成 以上の手順で、FFFTPでアップロードして、ブラウザで表示したら、読みこみに成功しておりました。 しかし、当然といえば当然なのですが、次ようにサイトのurlの拡張子がhtmlからphpに次ようになっておりました。※urlはダミーです。 http://www.sample777.com/index.php このままだと、全てのページのurlの拡張子がphpになってしまいます。 この場合、seoやユーザービリティ―などの観点から、何か問題はありますか? urlに表記されるphpの部分をhtmlのままにしたいのですが、何か方法はありますか?

noname#233083
noname#233083
  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • ixkaito
  • ベストアンサー率69% (18/26)
回答No.1

>urlに表記されるphpの部分をhtmlのままにしたいのですが、何か方法はありますか? urlに表記されるphpの部分をhtmlのままにしたいのですが、何か方法はありますか? http://www.suzukikenichi.com/blog/how-to-run-php-in-html-by-htaccess/ こちらの記事が参考になると思います。しかしサーバによってうまくいかない可能性もありますので、最終的には301リダイレクトするしかない場合もあります。 ちなみに文字化けの問題は解消されたでしょうか。

noname#233083
質問者

お礼

大変、貴重な記事を教えて頂き、ありがとうございます。 後ほど、参考にしながら試してみます!! 文字化けは解消されました! ありがとうございます!!

関連するQ&A

  • PHPのinclude_onceで外部ファイル化したサイトURLがリン

    PHPのinclude_onceで外部ファイル化したサイトURLがリンクしてくれない。 Webサイト制作中ですが、サイトURLをいたるところに記述するのと、同じ構造のサイトをいくつも制作するので、使い回しにもなるということで、サイトURLだけを記述したurl.phpという外部ファイルを作成しました。 すると、少なくとも以下のような場合、リンクをクリックするとページが存在しないというページが開いてしまいます。 どうやら相対パスと勝手に解釈されてhrefタグの記述がおかしくなるようです。 どうやって直せるでしょうか? ●リンクをクリックして開いたブラウザアドレスバーに出たURLは以下です。 http://僕のサイト.jp/syohin/%EF%BB%BFhttp://xn--u9jxf0b3dt27s.jp ●ブラウザ下部のステータスバーに出ているリンク先は以下です。 http://僕のサイト.jp/product/http://xn--u9jxf0b3dt27s.jp ●HTMLの記述は以下です。 <a href="<?php include_once("url.php"); ?>" title="僕のサイト.jpのトップへ">僕のサイト.jpのトップへ</a> ●url.phpに書いた記述はサイトURLだけです。以下です。 http://xn--u9jxf0b3dt27s.jp url.phpを置いているディレクトリへのパスがおかしいのか?と思い、サイト最上階、つまりindexがある一番上の階層にurl.phpをアップロードしてもみたのですが、結果は同じでした。 以下のように「../」とつけてもダメでした。 <a href="../<?php include_once("url.php"); ?>" title="僕のサイト.jpのトップへ">僕のサイト.jpのトップへ</a> 外部ファイル化して共通部分を沢山つくているのでどうしても相対パスではダメな部分が沢山あるので何とかしたいのですが・・・

    • ベストアンサー
    • PHP
  • PHPで?が消えない現象が起きます。

    PHPで?が消えない現象が起きます。 index.phpにheader.phpを <?php include(header.php); ?> のようにincludeすると header部分の記述が始まる直前に?が表示されます。 header部分がおかしいのかなと思って "aaa"とだけ記述してみても同じように"?aaa"と表示されてしまいます。 余分な?の文字も無いですし、文字コードも統一しています。 基本的なことを見落としているのかもしれません・・・。 どうかお助けくださいm(_ _)m

    • ベストアンサー
    • PHP
  • PHPでincludeを使うと?が入る。

    さらくインターネットのレンタルサーバを使用していますが、 index.phpに include('header.php'); を入れてヘッダー部分のHTMLの呼び出しを行なっていますが 表示されるソースを見ていると、includeで呼び出しているヘッダー部分の手前に「?」が 入ってしまいます。 include(dirname(__FILE__).'/header.php'); include($_SERVER['DOCUMENT_ROOT'] . "/header.php"); など使っても同じ現象のため、どうしたら「?」を無くすことができるでしょうか。

    • ベストアンサー
    • PHP
  • PHPファイルの拡張子について その2

    ウェッブサイト制作教本のphpを使用したサンプルプログラムのファイル拡張子がどれもhtmlになっていたので気になってまた質問させていただきました。 PHPはSSIのようにhtmlファイルの中に埋め込んで使用することは可能でしょうか? つまり拡張子htmlのままで使用できないのでしょうか? index.htmlにphpカウンタを組み込んだら、もしくは <?include("count.php");?>を挿入したら拡張子はphpにしなければそのカウンタは動きませんか? ご回答のほど、よろしくお願いします。

    • ベストアンサー
    • PHP
  • 共通部分の出力にPHPを使う場合

    ただ今Webサイトを運営している者です。 ヘッダとかフッタの各ページ共通部分を、PHPを使って一元的に管理しようと考えています。 PHPを挿入するページをaa.html、PHPで挿入するヘッダのページをheader.phpとすると、 ●aa.html <html> <head> </head> <body> <?php include 'header.php'; ?> </body> </html> ●header.php <html> <head> </head> <body> <div id="header">(中略)</div> </body> </html> こんな感じで考えています。 二つ質問があるのですが、 1. header.phpがaa.htmlの<?php >の部分にそのまま表示される、と考えてよいのでしょうか? 2. http://netcity.blog69.fc2.com/blog-entry-23.html 上のページや、他のサイトを読むと、外部ファイルの拡張子は何でもよいとありますが、これは本当でしょうか? 書いてある内容は同じでも、txtとhtmlとphpでは全然違う気がするのですが……。

    • 締切済み
    • CSS
  • phpを使った外部ファイル化を・・・。

    phpを使って、次回製作するWEBサイトをBOXごとに外部ファイルから読み込ませようと考えております。これは何ページあっても1ファイルの更新で済むので、楽なんですよね?それを行いたいと思います。 phpのプログラム事態は書けないのですが、外部ファイル化位なら何とかできない物かと思い、検討中です。 そこで、お聞きしたい事が御座います。WEBを作成していくにあたって何かしておかないと、またはしなくてはならない事というものはありますでしょうか? 当方の現在の考えは、いったん普通にWEBページを作成し、そのあとで必要部分に関して外部ファイル化を行って行こうと考えていますが、間違っていますでしょうか? なにぶん初めての試みなので・・・。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • Googleサイトマップの登録URLのファイル名が.phpの場合デメリットはありますか?

    現在Googleサイトマップを登録しようとしております。 登録の際に動的に出しているURLにphpが入っている(http://●●.co.jp/●●.php) のですが拡張子は.htmlの方が効果的なのでしょうか? それとも特にインデックスページのファイル名が.phpでもデメリットは無いのでしょうか? ご教授のほど宜しくお願いいたします。

  • php インクルードincludeした時のパス

    phpにてincludeした時のパスで躓いています。 現在のツリーは以下の様になっています。 index.html common  ├header.html  ├footer.html  ├right.html  ├img   ├navi-home.jpg   ├navi-1.jpg  ├css   ├base.css salon  ├hair    ├kari     ├index.html     ├access     ├ ├index.html     ├menu     ├ ├index.html この中の../hair/kari/index.htmlの中に ../common/header.html及びfooter.htmlを <?php include_once(dirname(__FILE__).'/../../../common/header.html'); ?> にてインルードしています。(書き方あってます?dirname(__FILE__).いります?) つぎに../hair/kari/access/index.htmlの中にもインクルードします。 <?php include_once(dirname(__FILE__).'/../../../../common/header.html'); ?> という風に一つ下の階層なので../を付け足しました。 このようにページ毎にheaderまでの相対パスが違うので、そのページ毎にパスを書き換えていかなければいけないものなのでしょうか? また../始まりではなく/始まりでないと表示されません。 /始まりは絶対パスでしたっけ? この書き方は間違っているのでしょうか? そして最後に、 ../common/header.htmlの中の画像ファイルやリンクは <img src="/common/img/navi-home.jpg"> の様に書かないと、インクルードしたファイル側で表示されません。 これも同じように/始まりのこの書き方でいいのでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • テンプレート化したphpのmenu.php内で<a href="#">の戻り値が重複してしまう。

    PHPの勉強の為、簡易テンプレートを作成しているのですが、config.php内で指定したURLをmenu.phpで実行させたところ戻り値が重複して困っています。 ※wordpessなどで見かけるURLテンプレートタグによって、<a href="この部分">のhttp~のURLを書かなくてもいいようにしたいです。 【各ファイル】 ●index.php ●config.php [templatesフォルダ] footer.php header.php ●menu.php style.css [htmlフォルダ] ●index.php トップのindex.php内では、<?php require_once('config.php'); ?>にてconfig.phpを読み込んでいます。 メニューはパーツ分けしたので、<?php include "templates/menu.php"; ?>にて読み込んでいます。 config.phpでは、URLの戻り値として、 <?php define(SITE_URL, "http://www.yahoo.co.jp"); ?> を指定しています。 上記をtempleatesフォルダ内のmenu.phpで実行させました。 <ul> <li><a href="<?php echo SITE_URL; ?>">HOME</a></li> <li><a href="<?php echo SITE_URL; ?>/html/index.php">テスト</a></li> </ul> これで、絶対パスを書かなくてもURLが作れると思ったのですが、実際の戻り値が、 http://www.yahoo.co.jphttp://www.yahoo.co.jp と重複してしまい、ページ移動ができません。 これは、どうしてなのでしょうか? どなたか教えていただけないでしょうか。

    • ベストアンサー
    • PHP
  • php include がおかしい

    下記のようにヘッダーとフッターをincludeしたindex.php をみると firefoxでは正常ですが、IEではフッターしか表示されません。 <?php include 'header.php'; ?> <?php include 'footer.php'; ?> どうしてでしょうか?

    • ベストアンサー
    • PHP