回答編集履歴

1

追記

2019/11/07 00:36

投稿

kyoya0819
kyoya0819

スコア10429

test CHANGED
@@ -1 +1,63 @@
1
1
  [これ](https://teratail.com/questions/217874)かな?
2
+
3
+
4
+
5
+ 以下引用
6
+
7
+
8
+
9
+ > > これは1つのディレクトリにindexファイル1つだけを設置しているということですか?
10
+
11
+
12
+
13
+ > いいえ大抵の場合は違います。
14
+
15
+
16
+
17
+ > .htaccessなどを利用しすべてのアクセスをルート配下のindex.phpなどに集め、Request Uriを解析しています。
18
+
19
+
20
+
21
+ > teratailを例にとると分かりやすいかもしれません。
22
+
23
+ 当質問のURLは
24
+
25
+ [https://teratail.com/questions/217874](https://teratail.com/questions/217874)
26
+
27
+
28
+
29
+ > ですが、トップにquestionsというディレクトリがありその下に217874というディレクトリがあってその配下にindexファイルがあるわけではありません。
30
+
31
+ 217874は質問番号でおそらく1から連番と考えると質問の数だけディレクトリが存在することになってしまいます。
32
+
33
+ 質問投稿と共にディレクトリとファイルを作ったり、質問削除と同時にディレクトリとファイルを削除したり、質問編集やコメント投稿、回答投稿のたびにファイルを更新する必要がでてくるので処理が複雑になります。
34
+
35
+
36
+
37
+ > 実際は
38
+
39
+ questionsで「質問」であること、
40
+
41
+ 217874が「番号」であることをURLのルールで決めて、「データベースに質問の217874番を取得しにいく」ように作られているだけになっています。
42
+
43
+ ですので実際に実行されているのは
44
+
45
+ https://teratail.com/配下のindex.phpであるということになります。
46
+
47
+
48
+
49
+ > これは「URLのルーティング」という考え方です。
50
+
51
+
52
+
53
+ > 多くのフレームワークが採用している考え方です。teratailもPHPフレームワークで作られているようです。
54
+
55
+
56
+
57
+ > おおよそメルカリも同様ではないでしょうか。
58
+
59
+
60
+
61
+ > ちなみに末尾の/は「トレイリングスラッシュ」と呼ばれています。
62
+
63
+ 違いについても調べれば解説記事はあります(結論だけ言うと「有り無しは関係ない」)