動的ページで全ての情報を検索対象にする正しいやり方

このQ&Aのポイント
  • 動的ページで全ての情報を検索対象にする正しいやり方は、contents.phpをactionディレクトリではなく、各contentsディレクトリの中に置くことです。
  • そして、$_GET['n']をなくし、各contents.phpに直接$pegenumberを指定します。
  • これにより、検索エンジンからのアクセスでも正しくコンテンツが表示されるようになります。
回答を見る
  • ベストアンサー

動的ページで全ての情報を検索対象にする正しいやり方

■/(ルートディレクトリ) ├─□index.php ├─■actionディレクトリ(各ページ共通に使用するファイルを格納) │  ├─□contents.php │  ├─□header.php(contents.phpのheader部) │  ├─□left.php(contents.phpのleft部) │  ├─□right.php(contents.phpのright部) │  ├─□footer.php(contents.phpのfooter部) │  ├─□class-teisuu.php(定数を格納) │  ├─□class-kannsuu.php(関数を格納) │  └─□class-mysql.php(mysqlの接続とクエリ) ├─■contentsディレクトリ(各コンテンツの情報を格納) │  ├─■0001 │  │  └─■imageディレクトリ(そのコンテンツの写真を格納) │  │     └─□001~n.jpg   --------------------------   1266コンテンツまで繰り返し   -------------------------- └─└─■1266      └─■imageディレクトリ(そのコンテンツの写真を格納)          └─□001~n.jpg contents.php ------------ <?php require_once("header.php"); require_once("right.php"); require_once("left.php"); require_once("footer.php"); require_once("class-teisuu.php"); require_once("class-kannsuu.php"); require_once("class-mysql.php"); ?> PHPとMYSQLで作った動的ページがあります。 index.phpで見たいコンテンツの絞込をやり、 0001~1266コンテンツのどれか1ページを見れるようにします。 そのときにindex.phpからcontents.phpに$_GET['n']='1211'というように コンテンツを判別する値を渡すことで1211のページを開くことができます。 そして、ヤフーなどの検索から直接そのcontents.phpに来た時にちゃんと開くように (isset($_GET['n'])) ? $pegenumber=$_GET['n'] : $pegenumber='0777'; のようにして$pegenumberが空にならないようにしています。 そこまではいいのですが、SEOを考えたときに問題があるのでは?と疑問に思いました。 せっかく情報が1266分もあるのに、そのやり方だと0777以外は検索されないですよね? 外部から来たものへ全てのコンテンツを検索対象にするためには、 contents.phpをactionディレクトリに置くのではなく、 contentsディレクトリの各ディレクトリの中に置きます。 そして、$_GET['n']をなくして、各contents.phpに$pegenumber='コンテンツ番号' を直接指定したほうがそれぞれ検索されるようになり、ちゃんと中身も表示されるようになる。 この考えは正しいですか? ■/(ルートディレクトリ) ├─□index.php ├─■actionディレクトリ(各ページ共通に使用するファイルを格納) │  ├─□header.php(各ページのheader部) │  ├─□left.php(各ページのleft部) │  ├─□right.php(各ページのright部) │  ├─□footer.php(各ページのfooter部) │  ├─□class-teisuu.php(定数を格納) │  ├─□class-kannsuu.php(関数を格納) │  └─□class-mysql.php(mysqlの接続とクエリ) ├─■contentsディレクトリ(各ページの情報を格納) │  ├─■0001 │  │  ├─□contents.php($pegenumber='001'を格納) │  │  └─■imageディレクトリ(そのページの写真を格納) │  │     └─□001~n.jpg   ----------------   1266まで繰り返し   ---------------- └─└─■1266     ├─□contents.php($pegenumber='1266'を格納)     └─■imageディレクトリ(そのページの写真を格納)        └─□001~n.jpg 0777ディレクトリのcontents.php ------------------------------ <?php $pegenumber='0777' require_once("../../action/header.php"); require_once("../../action/right.php"); require_once("../../action/left.php"); require_once("../../action/footer.php"); require_once("../../action/class-teisuu.php"); require_once("../../action/class-kannsuu.php"); require_once("../../action/class-mysql.php"); ?>

  • PHP
  • 回答数9
  • ありがとう数9

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

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.8

>検索エンジンはクエリストリングを判断できません。 できますよ。 ~/xxxx.php?str=AAA と ~/xxxx.php?str=BBB は別のページとしてちゃんとインデックスされます。ただし極端に長いクエリ、あるいはクエリに「id」その他あまり意味のないパラメータを含むと無視されますが。 ご参考までに http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=76329 ▼URLの構造を改善しようのあたり http://static.googleusercontent.com/external_content/untrusted_dlcp/www.google.com/ja//webmasters/docs/search-engine-optimization-starter-guide-ja.pdf >rewriteruleでURLの形を変えて そうだと思います。

taurin1000kg
質問者

お礼

>~/xxxx.php?str=AAA と ~/xxxx.php?str=BBB は別のページとしてちゃんとインデックスされます。 疑問が解決した気がします。有難うございます。 アマゾンを参考にしていたのですが、他のサイトを見てみるとクエリストリング付きのままで検索されていました。アマゾンは特殊な手法でやっているようですね。 JaneDueさんの意見は「ディレクトリの構造を後者にするのは管理の効率が悪くなるだけで、前者の構造でSEOも管理効率も充分で妥当」という意味も含んでいますか? 教えて頂いた参考サイトを見たことありますが、改めてみると理解の仕方が違うのでもう一度一通り読んでみます。

その他の回答 (8)

  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.9

>JaneDueさんの意見は~ 内部構成は、どちらが良いというよりも管理のしやすさ・メンテナンス性重視で「自分自身で分かりやすい」のが一番だと思います。(個人的には actionディレクトリ にheaderやfooterがあるのは違和感がありますが) URLの方は、クエリの1つ2つは気にする程ではないと考えますが、ご心配であれば念のためmodrewriteで静的にすればよいかと。 >SEOも管理効率も充分で妥当 ・ご自身にとって管理しやすいならOK ・ちゃんとインデックスされるURLかどうか、という意味ではOK ・1266の全ページにリンクでたどれるマップがある(または検索エンジン指定のサイトマップ)があるならOK でしょう。あとはコンテンツの内容自体です。

taurin1000kg
質問者

お礼

有難うございました。よく考えてみます。

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.7

ごめんなさい、良く解りません。

taurin1000kg
質問者

お礼

すいません。めちゃくちゃな書き方しないで、きちんともう少し見やすく書くべきでした。 教えて頂いた考え方をまだ理解できていないので、ジェネレートについて勉強してみます。 多くのアドバイス有難うございました。

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.6

>「ページの概念を持ったコンテンツ」の意味を理解できなかったですけど、 >並び替え・検索・ページ数の制御とかするページは、htmlでなくphpとDBを連携させたphpファイルで動的ページを作ります。ということですか? 逆に質問ですが、どうやてって並び替えや検索を行うつもりですか? 現在200画像あったとして、1ページに10枚表示できるとすと、 20ページの動的ページを遷移させる事が可能になります。 で、並び替えを行うと元々あったページのとは関係なく新たな並びで、 20ページの動的ページを遷移させる事が可能になります。 つまり、検索結果や並び替えの条件次第でどの画像が何ページに表示されるかが変わりますよね?

taurin1000kg
質問者

お礼

例えばこんなDBテーブルがあります。 id / title / search1 / search2 / search3 1028 / タイトルです。 / 3 / 1 / 2 1029 / たいとる / 2 / 2 / 3 1030 / タイトル1030 / 1 / 2 / 1 mysql_connectとmysql_select_dbで接続し、 /*ページング*/ $s1 = "select count(*) as cnt from DBテーブル where search1=".$_GET['search1']." and search2=".$_GET['search2']." and search3=".$_GET['search3']; $q1 = mysql_query($s1,$xxx); $p = ceil($allrows['CNT']/20); for($i=1; $i<=$p; $i++){ $page = $page."<span><a href="$_SERVER['PHP_SELF']?page=$i">$i</a></span>"; } /*検索*/ if(!isset($_GET['page'])){ $start = 0; }else{ $start = ($_GET['page']-1)*20+1; } $sort=$_GET['sort']; $s2 = "select * from DBテーブル where search1=".$_GET['search1']." and search2=".$_GET['search2']." and search3=".$_GET['search3']."ORDER BY $sort LIMIT $start,$start+20"; $q2 = mysql_query($s2,$xxx); for($i=0; $i<$q2; $i++){ $r = mysql_fetch_array($q1) $id = $r['id']; $title = $r['title']; $h = ' <div> <h2>$title</h2> <p><img src="contents/$id/image/sumuneiru.jpg" /></p> <p>$id</p> <p><a href="contents/$id/contents.php">詳細ページへ</a></p> </div> '.PHP_EOL; } <form action="<?=$_SERVER['PHP_SELF'];?>" method="GET"> <select name="search1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <select name="search2"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <select name="search3"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <select name="sort"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <input type="submit" name="submit" value="実行" /> </form> <div><?=$page;?></div> <div><?=$h;?></div> phpの書き方がずさんですが、自分が何を考えているのかは伝わると思います。

taurin1000kg
質問者

補足

かき忘れてしまったことがありますので追記します。 前者のディレクトリ構成の場合は、$hのところの<p><a href="contents/$id/contents.php">詳細ページへ</a></p>を<p><a href="contents/$id/contents.php?id=$id">詳細ページへ</a></p>にします。でも検索エンジンはクエリストリングは判断できないので、contents.phpに検索エンジンが見たとき「$_GET['id']は空だ……何も表示されない。内容がないページ」クエリストリングを付けずにやってcontents.phpで$id='0777'などとつけてやってます。そうすればそれぞれのディレクトリにあるcontents.phpに検索エンジンが来たとき「$id='0777'だからそれを使って……こんな内容か」と検索されるのではないかと思っています。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.5

>本当に効果があるのですか??? あるともいえないし、ないともいえない。 仮に今日効果があっても、明日効果がなくなっているかもしれない むしろフィルタする技術の方が進んでいるから、マイナス効果の方が 強く出る可能性もある 結局のところSEOの効果は、やったことへの本人の満足感でしかない あとは、ネットゴロが金儲けするためのせおせお詐欺じゃないの?

taurin1000kg
質問者

お礼

rewriteruleはSEOに効果があるかは不明なのですね。有難うございます。

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.4

>ジェネレートするとはどんな意味ですか? ジェネレートとは自の如く、生成(せいせい)する事です。 データや画像の情報からは頻繁に変わるような情報ではありませんし 静的ページ(html)を生成してしまえば良いと言うことです。 >並び替え、検索、ページ数の数に関わる動作 おや、設計が破綻しています。 並び替えや検索を行い、ページ数を制御するなら 最初からページの概念を持ったコンテンツ(画像)の考えは間違っています。 並び替えや検索の結果、ページが生成されるのですから.....

taurin1000kg
質問者

お礼

>静的ページ(html)を生成してしまえば良いと言うことです。 質問集:http://c.oshiete.goo.ne.jp/goo_search.php3 ↓ その中の1つの質問:http://oshiete.goo.ne.jp/qa/7543448.html 7543448.htmlと拡張子がhtmlなのは、.htaccessで拡張子htmlのままPHPを実行していて、 ファイル1つだけで動的に中身だけを変えていると思っていました。 そうでなくて、phpを含まないhtmlファイルを質問の数だけ作っているということですか? >並び替えや検索を行い、ページ数を制御するなら >最初からページの概念を持ったコンテンツ(画像)の考えは間違っています。 「ページの概念を持ったコンテンツ」の意味を理解できなかったですけど、 並び替え・検索・ページ数の制御とかするページは、htmlでなくphpとDBを連携させたphpファイルで動的ページを作ります。ということですか? それか、ページ(=今までコンテンツと同義語でした)ごとに画像用のディレクトリを作るのがおかしい、ということですか?

  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.3

>この考えは正しいですか? 間違っています。検索エンジンは、どのようにしてページを生成するかという内部構造、ディレクトリ構成については感知しません。(できません) また、クエリ付きURLを追いかけないというのも昔の話です。/?n=1234 でも /1234/ でも /1234.php でも大差ないでしょう。メンテナンス面から変更前の方がよいかと。 いづれにしても全ページを検索対象としたいのであれば、全ページへリンクした「サイトマップ」を作成すべきでは?

taurin1000kg
質問者

お礼

質問文をそのまま見るとディレクトリ構成によってSEOが変わる、 のように読めてしまうかもしれないですけど、 前者でそれぞれのコンテンツを開くには、 -------------------------- index.php -------------------------- <a href="http:// www.ドメイン/actionディレクトリ/contents.php?a='0001'">0001へ</a> <a href="http:// www.ドメイン/actionディレクトリ/contents.php?a='0002'">0002へ</a> <a href="http:// www.ドメイン/actionディレクトリ/contents.php?a='0003'">0003へ</a> -------------------------- とクエリストリングで判断させて各コンテンツを開きます。 検索エンジンはクエリストリングを判断できません。 http:// www.ドメイン/actionディレクトリ/contents.phpとして判断します。 もしも$_GET['a']が空の状態でcontents.phpを開けば何も情報のないコンテンツが開きます。 コンテンツが何もないので、検索エンジンも情報がないものとして扱います。 それを避けるために、contents.phpで (isset($_GET['n'])) ? $pegenumber=$_GET['n'] : $pegenumber='0777'; として空の状態にならないようにしています。 この場合検索エンジンは0777のコンテンツしか検索しません。 後者の場合は、 -------------------------- index.php -------------------------- <a href="http:// www.ドメイン/contentsディレクトリ/0001/contents.php">0001へ</a> <a href="http:// www.ドメイン/contentsディレクトリ/0002/contents.php">0002へ</a> <a href="http:// www.ドメイン/contentsディレクトリ/0003/contents.php">0003へ</a> -------------------------- 検索エンジンはそれぞれのコンテンツを検索します。 そして各contents.phpには、$pegenumber='コンテンツ番号'があるので、 それによって検索エンジンは各コンテンツを検索します。 と予想していました。 「置かれた場所で咲きなさい」で検索すると、その本の紹介コンテンツが1番に来て直に開きます。そのURLを見てみると http://www.amazon.co.jp/置かれた場所で咲きなさい-渡辺-和子/dp/4344021746 のようになっています。 後者の場合に当てはめると、 http://www.amazon.co.jp/置かれた場所で咲きなさい-渡辺-和子ディレクトリ/dpディレクトリ/4344021746.php になります。これではとても効率が悪くよくないです。 もしかしたら、 http://www.amazon.co.jp/index.php? a='置かれた場所で咲きなさい-渡辺-和子ディレクトリ'&b='dp'&c='4344021746' rewriteruleでURLの形を変えて http://www.amazon.co.jp/置かれた場所で咲きなさい-渡辺-和子/dp/4344021746 にしているのではないかと思いました。 これは前者の考え方です。 でも、検索エンジンはクエリストリングを判断できないので違いますよね。 なにがなんだか分からなく混乱しています。

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.2

動的ページにする意味はなんですか? 別スレの質問と合わせて考えると 単純に掲載内容に変更があった場合に静的ページをジェネレートするための仕組みにすれば SEOとしても良くなるし、サーバの負荷も減るしスッキリもしますね

taurin1000kg
質問者

お礼

>動的ページにする意味はなんですか? 並び替え、検索、ページ数の数に関わる動作、効率のために同じファイルを動的に変更、アクセスするたびにおすすめ情報が変わる、とかをしたいためです。 >単純に掲載内容に変更があった場合に静的ページをジェネレートするための仕組みにすれば SEOとしても良くなるし、サーバの負荷も減るしスッキリもしますね 説明しているサイトがみつからなかったんですが、ジェネレートするとはどんな意味ですか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

SEO自体がどれほどのものかと甚だ疑問ですが どうしてもというのならhttpd側のrewriteruleで静的ページに 見せかけるというのがよくトライされるやり方です

taurin1000kg
質問者

お礼

rewriterule=URLを変える http:// www.ドメイン/ディレクトリ/ファイル名 ? クエリストリング 昔はクエリストリングを含むURLはSEOに不利でしたが、 現在は含んでも不利になりませんよね。 そのrewriteruleはクエリストリングを含むURLを不利にならない形に変えるために使うのであって、昔は重宝した対策でしたが、不利にならなくなった現在ではそれによるSEO効果はなく、ただ単に見栄えをよくするためだけに使われます。 とこんな感じで理解しています。本当に効果があるのですか???

関連するQ&A

  • 動的ページを作る時のディレクトとリファイル構成

    動的ページを作るとき、レイアウトを変更するときに一括でできるように contents.phpをrequire_onceで各ファイルを読み込んで組み立てています。 このような感じで構成するのは正しいでしょうか。 ■/(ルートディレクトリ) ├─□index.php ├─■actionディレクトリ(各ページ共通に使用するファイルを格納) │  ├─□header.php(各ページのheader部) │  ├─□left.php(各ページのleft部) │  ├─□right.php(各ページのright部) │  ├─□footer.php(各ページのfooter部) │  ├─□class-teisuu.php(定数を格納) │  ├─□class-kannsuu.php(関数を格納) │  └─□class-mysql.php(mysqlの接続とクエリ) ├─■contentsディレクトリ(各ページの情報を格納) │  ├─■0001 │  │  ├─□contents.php($pegenumber='001'を格納) │  │  └─■imageディレクトリ(そのページの写真を格納) │  │     └─□001~n.jpg   ----------------   1266まで繰り返し   ---------------- └─-└─■1266       ├─□contents.php($pegenumber='1266'を格納)       └─■imageディレクトリ(そのページの写真を格納)          └─□001~n.jpg 0777ディレクトリのcontents.php ------------------------------ <?php $pegenumber='0777' require_once("../../action/header.php"); require_once("../../action/right.php"); require_once("../../action/left.php"); require_once("../../action/footer.php"); require_once("../../action/class-teisuu.php"); require_once("../../action/class-kannsuu.php"); require_once("../../action/class-mysql.php"); ?> header.php ------------------------------ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta name="keywords" content="<?php echo $a1.','~.$a10; ?>" /> <meta name="description" content="<?php echo $b1.$b2.$b3.'のサンプルです。'; ?>" /> <link href="~~~" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="~~~"></script> <title><?php echo $title; ?></title> </head> <body> <div class="owner"> <!-- ヘッダー部分 --> <div> </div>//ヘッダー終わり right.php ------------------------------ 「</div>//ヘッダー終わり」からの続き <!-- メインコンテンツ --> <div> </div>//メインコンテンツ終わり left.php ------------------------------ 「</div>//メインコンテンツ終わり」からの続き <!-- レフトカラム部分 --> <div> </div>//レフトカラム終わり footer.php ------------------------------ 「</div>//フッター部分終わり」からの続き <!-- フッター部分 --> <div> </div>//フッター終わり </div>//owner終わり </body> </html>

    • ベストアンサー
    • PHP
  • IEの表示だけおかしい

    CSSとPHPを用いて、擬似フレームのようなWebページを作成しています。ページの構成は、下記のようなヘッダ、左メニュー、右コンテンツ、フッタとなっています。 ---------------------- header ---------------------- menu |  Contents     |     |     | ---------------------- footer ---------------------- CSSでは、 div#header{} div#left{float:left; width:200px;} div#right{margin-left:200px;} div#footer{clear:left;} と指定しています。 Webページ内では <div id="header"> などとしてCSSのレイアウト構成を反映させています。 次に、PHPのincludeを用いてヘッダ、左メニュー、フッタは共通の外部ファイルを読み込むように指定しています。右側のコンテンツの所のみ、別々の内容を直接記述しています。 以上のようにWebページを.phpとして作成し、動作確認を行いました。Opera、Firefoxでは上記のように綺麗に表示されます。 IE6では、右側のコンテンツ部が左メニューと並びません。下記のように、メニューの最下段の次のひ行から始まって表示されます。 ---------------------- header ---------------------- menu |     |     |     --------------      Contents ---------------------- footer ---------------------- 以上のような症状で困っていますが、Googleで検索しても手詰まりの状態です。同じ症状を経験された方、解決策をご存知の方いらっしゃいましたらご教授ください。

    • ベストアンサー
    • HTML
  • PHPでhome以外のページのアクセス制限

    こんにちは、 PHP条件でhome以外のページをユーザーログインしていない際に制限したいのですが、 ---------------------- コード(index.php) require('header.php'); //....(中略) require('footer.php); -------------------- コード(header.php) (前略) <?php if(!isset($_SESSION['app']['username']) || $_SESSION['app']['username']==''){ if($section != 'home'){echo 'ログインしてください';}else{ ?> ------------------- コード(footer.php) <?php }} ?> (後略) ----------------------- のように設計すれば動作できるはずなのですが、「unexpected $end」エラーになってしまいます。直接index.phpを開くから'header.php'と'footer.php'がひとまとめにならないのでしょうか?footer.phpでちゃんと括弧を閉じたのに。 どうやって解決できるでしょうか 詳しい方がいらっしゃいましたら、教えていただきたいのです。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • header関数でページ移動しない

    現在携帯サイトをPHPで作成しているのですが下記のようなコードを書くと、ページが移動しません。 本来は条件処理をした後で、ページ移動させたい地のですが、 一番シンプルなコードにしてもページが移動してくれません。 ローカルサーバーのVine Linuxでは動作するのですが、 ロリポップ、114090、berrysan.net(http://www.berrysan.net/index.html) などでは動作してくれません。 ---------------- 以下 ページが移動しない --------------- <?php  //サイト設定ファイル読み込み  require_once("./setini.php");  $Url = "http://oshiete.goo.ne.jp/";  header("Location: $Url"); ?> ------------------------------------------------------ ---------------- 以下 ページが移動する ---------------- <?php  //サイト設定ファイル読み込み  //require_once("./setini.php");  $Url = "http://oshiete.goo.ne.jp/";  header("Location: $Url"); ?> ------------------------------------------------------ setini.phpは、下記のようなdefine定義があるだけです。 <?php define("TOP_FILE","./index.php"); : : ?> 何処か使い方がおかしいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • プログラムで影響するファイルの洗い出しツールは?

    プログラムを修正する際の便利なツールを探しています。例えばform.phpというファイルがrequire_once()でclass.phpを呼び出し、更にclass.phpはmysql.iniを呼び出し・・という様な場合に、ディレクトリとファイルを指定して、そのファイルに影響しているファイル一覧を指定したディレクトリ内で洗い出して表示してくれるような便利なツール(Windows環境フリーソフト)は無いでしょうか? どなたかご存知でしたらどうか宜しくお願いします! ちなみに、現在は秀丸というエディタで”require”でgrepかけて地道に追いかけています。単体のツールで無くても上記のような動作が出来る方法をご存知でしたらお願いします。

    • ベストアンサー
    • PHP
  • include時の頭の良いパス指定について

    include時の頭の良いパス指定について 長い上に少々わかりにくい話ですが、includeする場合のパスについてです。 現在の構成は次のとおりです。 / ├inc/ │ ├file_a.class.php │ ├file_b.class.php │ ├file_c.class.php │ │ │ └require/ │   └require.php ├dir/ │└index.php │ └index.php 【/index.phpの中身】 <?php  require_once "./inc/require/require.php";  //その後いろいろ処理 ?> 【/inc/require/require.phpの中身】 <?php  require_once "./inc/file_a.class.php";  require_once "./inc/file_b.class.php";  require_once "./inc/file_c.class.php"; ?> 今回後付で、「/dir/index.php」を設置しました。 「/index.php」とほぼ処理は共通なので、「/dir/index.php」を次のように書いています。 【/index.phpの中身】 <?php  require_once "../index.php"; ?> しかし、この場合「/dir」以下からは、incまでの階層が異なるため、includeしても、 各クラスのファイルを読み込むことができず、 No such file or directory in require.php on line 2 のエラーが表示されてしまいます。 こういう場合、どういうパス指定をするのがいいのでしょうか。

    • ベストアンサー
    • PHP
  • position: sticky;で教えてください

    何が間違っているのかわかりません。 間違いを指摘していただきたいです。 ●HTML <body> <article> <header> ヘッダ </header> <div class="content"> <section class="right"> <div class="sticky">ここをスクロール追従させたい</div> </section> <section class="left"> <p>左側ボックス</p> </section> </div> <footer> <address>Copyright (C) 2018All Rights Reserved.</address> </footer> </article> </body> </html> ●CSS article{ width:800px; margin-left:auto; margin-right:auto; } header{margin-bottom:50px;} .right{ width:200px; float:right; } .left{ width:550px; float:left; } footer{clear:both;} .sticky { postion: -webkit-sticky; position: sticky; top:0px; background-color:#09F; } よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • require_onceについて

    いつもお世話になっております。 超初級な質問で申し訳ないのですが困ってます。 下記のような4つのclassがあります。 A_Class------------ <?php require_once('Base_Class'); class A_Class extends Base_Class{} Base_Class------------------ <?php require_once('B_Class'); abstract class Base_Class { public function hoge (){ $b = new B_Class(); $b->hoge(); } } B_Class--------------------- <?php require_once('C_Class'); class B_Class{ public function hoge (){ $c = new C_Class(); } } C_Class--------------------- <?php require_once('Base_Class'); class C_Class extends Base_Class{} ほかのファイルからrequire_once('A_Class');をすると PHP Fatal error: Class 'Base_Class' not found in C_Class.class.php on line 2 となります。 Base_Classのrequire_once('B_Class');をクラス定義の下に書けば通るのですが、 できればrequire_onceは上部にそろえておきたいです。 require_onceを下に書かずに修正する方法がありましたらご教授お願いします。

    • 締切済み
    • PHP
  • ページ移動について

    例えば、◯◯.phpへアクセスの際、◯◯.phpのプログラム内でrequire_onceを使い認証プログラム(□□.php)を呼び出して、認証が成功したら◯◯.phpへ飛ばしたいのですがどのようにしたらいいのでしょうか?(△△.phpへのアクセスの際は、認証成功したら△△.phpに飛ばしたい) header("Location: ".$_SERVER['PHP_SELF']);では、□□.phpに飛んでしまいます。

    • ベストアンサー
    • PHP
  • パーミッションの設定

    最近 PHP と MySQL の勉強をはじめました。 パーミッションについて教えてください。 サーバをレンタルしてPHP で MySQL に接続してデータを読み込んでいます。MySQL に接続する際の サーバ名,ユーザ名,パスワード,データベース名 は info.php という別のPHPファイルに書き込み、それを require_once(info.php) で読み込んでデータベースに接続しています。 info.php は data というディレクトリに格納していますが、セキュリティのためにパーミッションを設定したほうがいいと聞いたのですが data と info.phpのパーミッションはいくつにしたらよいのでしょうか?

    • ベストアンサー
    • PHP