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

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

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

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

Q&A

解決済

1回答

641閲覧

相対パスについて教えて頂きたいです

koba_kazu

総合スコア4

PHP

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

0グッド

0クリップ

投稿2020/07/11 04:31

前提・実現したいこと

リンク元(staff_loginフォルダーのstaff_top.phpファイル)から

リンク先(staffフォルダーのstaff_list.phpファイル)

に飛びたいのですがリンク先の相対パスに入力していない『staff_login』がなぜか入力されてしまい上手くいきません。
これが原因でエラーが発生したんだと思い『staff_login』が入力されないやり方を調べたんですが答えがわからなかったです。

イメージ説明

発生している問題・エラーメッセージ

リンク元にリンク先の相対パスを入力。

リンク元 <p><a href="../staff/staff_list.php">スタッフ管理</a></p>


エラーメッセージ表示。
エラーメッセージの表示ページのURLを見ると
http://localhost:8080/staff_login/staff/staff_list.php
と表示されています。
リンク元では『staff_login』は入力していないのに『staff_loginフォルダー』の『staffフォルダー』がリンク先になっています。

エラーメッセージ Object not found! Error 404

試したこと

絶対パスを入力すると正しく表示されます

<p><a href="http://localhost:8080/staff/staff_list.php">スタッフ管理</a></p>

ポート確認:Listen 80

DocumentRoot確認:DocumentRoot "/opt/lampp/htdocs"

今回の問題はポート確認・DocumentRoot確認では無いのかなと調べた結果思っています。

補足情報(FW/ツールのバージョンなど)

使用しているパソコン:Mac

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/07/11 04:43

`staff_login/staff_top.php`と`staff/staff_list.php`の2つのファイルが存在するという意味ですか?ここが重要ですので確認してください。
koba_kazu

2020/07/11 04:44

はいそうです!
hentaiman

2020/07/11 06:08

相対パス 図解 で検索した方がいいよ
koba_kazu

2020/07/11 06:40

ありがとうございます! 絶対パスを図解通り相対パスにして実装すると正しく実装できましたが、ページに戻り同じようにリンク先をタップしたらまた404エラーが出てそれ以降エラーが直りません。 どうしてなんでしょう。。。
miyabi_takatsuk

2020/07/11 09:20 編集

プロトコルから始まる(http)ものは、パスとは言いません。 絶対URIもしくは、URLと言うと、一般的には、絶対URIの事を指します。 そして、絶対パスとは、/始まりの、ドキュメントルートからのパスの事を指します。 別に、絶対パスでよいのでは? なぜなら、階層がちょいちょい変わるような実装のようにお見受けしますので、相対パスでは指定に限界があるように思えますので。
koba_kazu

2020/07/11 09:42

ご指摘ありがとうございます! 絶対URIで問題なく実装されているので今はこのまま進めて行こうと思います。 ありがとうございます!
guest

回答1

0

自己解決

解決方法の前に、http:〜から始まることを絶対パスと間違っていたので相対パス・絶対パスの理解を深めます。

解決方法は絶対URIで問題なく実装されているのでこのまま進めて行く事にしました。

投稿2020/07/11 09:47

koba_kazu

総合スコア4

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問