質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

1回答

2147閲覧

ロリポップにサイトをアップするもトップ以外404エラー

Yariii

総合スコア61

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

0クリップ

投稿2019/08/05 13:10

編集2019/08/05 14:04

PHPを使用してWEBサイト作り、独自ドメインをとって本番環境(ロリポップ)にサーバーアップしました。
ディレクトリの構成としては

root/dist┬─/js/...(略)     │     ├─/img/...(略)     │     ├─/css/style.css     │     └─/php/┬─index.php     └─/page/┬─about.php     └ contact.php

上記になります。

そして今回の問題点は以下になります。

トップページだけCSSが効いてないまま表示され、その他ページは404エラーになる。

URLを独自ドメインではなくロリポップドメインに置き換えると、全ページ、cssも含め表示される。(独自ドメイン.com/root/dist/php → ロリポップドメイン.jp/root/dist/php だとおk)

独自ドメインは今日15:00頃ムームードメインでとって、ネームサーバーもその頃に合わせました。

上記を踏まえて、なぜ表示されないかが分かラズ、ご教授いただきたいです。
どうかよろしくお願いいたします。。

質問修正依頼が来ましたので、以下にPHPコードを追記します。

head

1<?php 2 //お問い合わせフォームのセッション 3 session_start(); 4 $_SESSION['radio'] = $_POST['radio']; 5 $_SESSION['company'] = $_POST['company']; 6 $_SESSION['post'] = $_POST['post']; 7 $_SESSION['address1'] = $_POST['address1']; 8 $_SESSION['address2'] = $_POST['address2']; 9 $_SESSION['name'] = $_POST['name']; 10 $_SESSION['tel'] = $_POST['tel']; 11 $_SESSION['mail'] = $_POST['mail']; 12 $_SESSION['text'] = $_POST['text']; 13?> 14<?php 15 //$root = 'http://localhost:3001'; 16 $root = 'http://独自ドメイン.com/root'; 17 $DIR = '__DIR__'; 18?> 19<?php 20// meta情報 21$meta = array ( 22 'top' => array ( 23 'title' => '〇〇のサイト', 24 'description' => '〇〇のサイトです。', 25 'keywords'=> 'テスト', 26 ), 27 'about' => array ( 28 'title' => '概要', 29 'description' => '〇〇の概要です。', 30 'keywords'=> 'テスト', 31 'img'=> 'about', 32 ), 33 'contact' => array ( 34 'title' => 'お問い合わせ', 35 'description' => 'お気軽にご相談、ご連絡ください。', 36 'keywords'=> 'テスト', 37 'img'=> 'contact', 38 ) 39 40 ); 41 42// 条件式 43foreach($meta as $folder => $parts){ 44 if ($dataVariables['page'] == $folder) { 45 $dataVariables['data'] = $parts; 46 } 47} 48?> 49<!DOCTYPE html> 50<html lang="en" dir="ltr"> 51 <head> 52 <meta charset="utf-8"> 53 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 54 <meta name="description" content="<?php echo $dataVariables['data']['description']; ?>"> 55 <meta name="keywords" content="<?php echo $dataVariables['data']['keywords']; ?>"> 56 <title> 57 <?php 58 //トップページとそれ以外のページを分岐 59 if ('/dist/php/index.php' != $_SERVER['REQUEST_URI']) { 60 echo $dataVariables['data']['title'].'|〇〇のサイト'; 61 } else{ 62 echo $URL.'〇〇のサイト'; 63 }; 64 ?> 65 </title> 66 <link rel="stylesheet" href="<?php echo $root; ?>/dist/css/style.css"> 67 <link href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" rel="stylesheet"> 68 <script type="text/javascript" src="<?php echo $root; ?>/dist/js/main.js"></script> 69 </head> 70<body> 71

header

1<header class="Header"> 2 <h1 class="Header_title"><a class="Header_title_logo" href="<?php echo $root; ?>/dist/php/index.php">O.M.E</a></h1> 3 <nav class="Header_nav"> 4 <ul class="Header_nav_ul"> 5 <li class="Header_nav_li"><a href="<?php echo $root; ?>/dist/php/index.php">トップ</a></li> 6 <li class="Header_nav_li"><a href="<?php echo $root; ?>/dist/php/page/about.php">会社概要</a></li> 7 </ul> 8 <div class="Header_nav_contact"> 9 <a class="Header_nav_contact_mail" href="<?php echo $root; ?>/dist/php/contact/contact.php">メールでお問合せ</a> 10 </div> 11 </nav> 12</header>

index

1<?php 2// head.phpから配列を呼び出し 3$dataVariables = array( 4 'page' => 'top', 5); 6// head.php、header.phpの読み込み 7include(__DIR__.'/page/common/head.php'); 8include(__DIR__.'/page/common/header.php'); 9?> 10 11<main>省略</main> 12 13<?php include(__DIR__.'/page/common/contact-button.php') ?>  14 15<?php include(__DIR__.'/page/common/footer.php') ?>  16

about

1<?php 2// head.phpから配列を呼び出し 3$dataVariables = array( 4 'page' => 'about', 5); 6// head.php、header.phpの読み込み 7include(__DIR__.'/../page/common/head.php'); 8include(__DIR__.'/../page/common/header.php'); 9include(__DIR__.'/../page/common/page-title.php'); 10?> 11 12<main class="About"> 13 <!-- 概要写真 --> 14 <section class="About_main hide"> 15 <img src="https://placehold.jp/700x425.png"> 16 </section> 17 18 <!-- 会社概要とか --> 19 <section class="About_company_column hide"> 20 <dl> 21 省略 22 </dl> 23 </section> 24 25 <!-- Googleマップ --> 26 <section class="About_googlemap"> 27 <iframe src=""></iframe> 28 </section> 29 30 <?php include(__DIR__.'/../page/common/contact-button.php') ?>  31</main> 32 33<?php include(__DIR__.'/../page/common/footer.php') ?> 34

contact

1<?php 2// head.phpから配列を呼び出し 3$dataVariables = array( 4 'page' => 'contact', 5); 6// head.php、header.phpの読み込み 7include(__DIR__.'/../page/common/head.php'); 8include(__DIR__.'/../page/common/header.php'); 9include(__DIR__.'/../page/common/page-title.php'); 10?> 11 12<main class="Contact"> 13 14 <div class="Contact_head"> 15 <ol class="Contact_head_state"> 16 <li class="Contact_head_state_item Contact_head_state_item_active"> 17 ①入力画面 18 </li> 19 <li class="Contact_head_state_item"> 20 ②確認画面 21 </li> 22 <li class="Contact_head_state_item"> 23 ③送信完了 24 </li> 25 </ol> 26 <p class="Contact_head_text">以下の項目をご記入し、確認ボタンを押してください。<br> 27 高周波誘導加熱装置について詳しく知りたい方は、こちらからどうぞ。<br> 28 <a href="<?php echo $root; ?>/dist/php/page/about-hb.php" class="Top_products_link">高周波誘導加熱装置とは? >></a> 29 </p> 30 31 </div> 32 33 <section class="Contact_form"> 34 <form class="" action="confirmation.php" method="post"> 35 36 <div class="Contact_form_item"> 37 <div class="Contact_form_item_text"> 38 <label for="">用途</label><span>必須</span> 39 </div> 40 <div class="Contact_form_item_text"> 41 <input class="radio" type="radio" name="radio" value="生産用" required>生産用 42 <input class="radio" type="radio" name="radio" value="試験用" required>試験用 43 <input class="radio" type="radio" name="radio" value="資料請求" required>資料請求 44 </div> 45 </div> 46 <div class="Contact_form_item"> 47 <div class="Contact_form_item_text"> 48 <label for="">貴社名</label><span>必須</span> 49 </div> 50 <div class="Contact_form_item_entry"> 51 <input class="company" type="text" name="company" value="" required><span class="Contact_form_item_example">例) 株式会社〇〇〇〇</span>  52 </div> 53 </div> 54 <div class="Contact_form_item"> 55 <div class="Contact_form_item_text"> 56 <label for="">郵便番号</label><span>必須</span> 57 </div> 58 <div class="Contact_form_item_entry"> 59 <input class="post" type="text" name="post" value="" required><span class="Contact_form_item_example">例) 000-0000 ※半角数字</span> 60 </div>  61 <div class="Contact_form_item_text"> 62 <label for="">住所</label><span>必須</span> 63 </div> 64 <div class="Contact_form_item_entry"> 65 <input class="address" type="text" name="address1" value="" required><span class="Contact_form_item_example">例) 東京都千代田区五番町3-19</span> 66 </div>  67 <div class="Contact_form_item_text"> 68 <label for="">建物・ビル</label> 69 </div> 70 <div class="Contact_form_item_entry"> 71 <input class="address" type="text" name="address2" value=""><span class="Contact_form_item_example">例) 〇〇ビル301</span>  72 </div> 73 </div> 74 <div class="Contact_form_item"> 75 <div class="Contact_form_item_text"> 76 <label for="">氏名</label><span>必須</span> 77 </div> 78 <div class="Contact_form_item_entry"> 79 <input class="name" type="text" name="name" value="" required><span class="Contact_form_item_example">例) 山田 太郎</span>  80 </div> 81 </div> 82 <div class="Contact_form_item"> 83 <div class="Contact_form_item_text"> 84 <label for="">TEL</label><span>必須</span> 85 </div> 86 <div class="Contact_form_item_entry"> 87 <input class="tel" type="text" name="tel" value="" required><span class="Contact_form_item_example">例) 000-0000-0000</span>  88 </div> 89 </div> 90 <div class="Contact_form_item"> 91 <div class="Contact_form_item_text"> 92 <label for="">E-mail</label><span>必須</span> 93 </div> 94 <div class="Contact_form_item_entry"> 95 <input class="mail" type="text" name="mail" value="" required><span class="Contact_form_item_example">例) info@example.com</span>  96 </div> 97 </div> 98 <div class="Contact_form_item"> 99 <div class="Contact_form_item_text"> 100 <label for="">お問い合わせ内容</label><span>必須</span> 101 </div> 102 <div class="Contact_form_item_entry"> 103 <textarea placeholder="お問い合わせ内容" name="text" required></textarea> 104 </div> 105 </div> 106 107 <input class="Contact_form_submit" type="submit" value="確認画面へ"> 108 109 </form> 110 </section> 111 112</main> 113 114<?php include(__DIR__.'/../page/common/footer.php') ?> 115

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2019/08/05 13:38

ご自身で書かれたコードを質問文に追記されたほうが回答を得られやすいと思います。
Yariii

2019/08/05 13:53

ご指摘ありがとうございます。追記致しました。
Yariii

2019/08/05 14:03

ありがとうございます。 現在、root/dist/php/ となっています。 あと、修正の際ミスがありました。 上記質問に加えたhead.phpのコードですが $root = 'http://独自ドメイン.com'; は $root = 'http://独自ドメイン.com/root'; です。 すみません、修正しておきます。、
guest

回答1

0

ベストアンサー

kei344

2019/08/05 22:59
https://lolipop.jp/manual/user/chg-plan/#p-domain01
「公開(アップロード)フォルダ」はどういう設定になっていますか。

 

uyam12

2019/08/05 23:03
ありがとうございます。
現在、root/dist/php/ となっています。

この設定であれば、http://example.com/index.php のある階層になります。
そのため、cssはそのドメイン配下に無いので公開されていません。(ロリポップ初期ドメインでしか見られません)

「公開(アップロード)フォルダ」の設定をroot/dist/にすればcssはhttp://example.com/css/style.cssでアクセス可能になります。

投稿2019/08/05 14:25

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yariii

2019/08/05 15:08

ご回答ありがとうございます。 なるほど、おっしゃる通り公開フォルダ設定に原因がありそうです。 いまさっき公開フォルダを「root/dist/」に変更し、そしたら403エラーが出てしまうのですが、これはdistにindex.phpファイルを移動するイメージですか?ここはhtaccessのリダイレクトで制御するべきところなのでしょうか? (ディレクトリの見栄え的にdistディレクトリにサイトのトップページだけ置くというのが抵抗ありまして。。)
kei344

2019/08/05 15:12

一般的にドメインを割り当てた箇所にindexが有る物ですが、ご自信のサイト設計です、好きになさってください。
Yariii

2019/08/05 16:30

この度はありがとうございました。 大変参考になりましたm__m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問