質問編集履歴

4

複数クエリの場合を追記

2020/07/24 11:27

投稿

dodoragon
dodoragon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  RewriteCond %{REQUEST_FILENAME} !-f
60
60
 
61
- RewriteRule ^([0-9a-zA-Z]+)$ index.php?id=$1 [L]
61
+ RewriteRule ^([0-9a-zA-Z]+)/?$ index.php?id=$1 [L]
62
62
 
63
63
  </IfModule>
64
64
 
@@ -93,3 +93,17 @@
93
93
 
94
94
 
95
95
  結局PATH_INFOを使った方法は、https://teratail.com/questions/221666のkawaxさんの回答だとmod_rewriteを使う1つ前のやり方なのでしょうか?PATH_INFOを使った他の良いやり方があるのでしょうか?PATH_INFO自体の解説サイトが少ししか見つからず、そのため今回は特に何も見つからずです。もし可能ならヒントでもいいので教えてもらえるとうれしいです。
96
+
97
+
98
+
99
+ ###追記
100
+
101
+ 複数クエリの場合は次の方法でいけると思いますが、間違っている場合は指摘が欲しいです。
102
+
103
+ XXX.com/news/animal/cat/123  ジャンル動物の、猫の123番の記事
104
+
105
+ XXX.com/news/index.php?p=animal/cat/123  上記をこのように.htaccessで書き換えするだけ
106
+
107
+   追記1の ([0-9a-zA-Z]+) ここをスラッシュも含むように修正するだけで上記の形に
108
+
109
+ あとは、index.phpで受け取った p をスラッシュでスプリットして扱うだけ

3

部分修正

2020/07/24 11:26

投稿

dodoragon
dodoragon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -92,4 +92,4 @@
92
92
 
93
93
 
94
94
 
95
- 結局PATH_INFOを使った方法は、https://teratail.com/questions/221666のkawaxさんの回答だとmod_rewriteを使う1つ前のやり方なのでしょうか?PATH_INFOを使った他の良いやり方があるのでしょうか?PATH_INFO自体の解説サイトが今回見つからなかっので、今回は特に何も見つからずです。もし可能ならヒントでもいいので教えてもらえるとうれしいです。
95
+ 結局PATH_INFOを使った方法は、https://teratail.com/questions/221666のkawaxさんの回答だとmod_rewriteを使う1つ前のやり方なのでしょうか?PATH_INFOを使った他の良いやり方があるのでしょうか?PATH_INFO自体の解説サイトが少ししか見つからず、その今回は特に何も見つからずです。もし可能ならヒントでもいいので教えてもらえるとうれしいです。

2

回答と調べた内容を元にした追記

2020/07/24 10:29

投稿

dodoragon
dodoragon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -19,3 +19,77 @@
19
19
  上記のようなワードしか思いつかず困っています。
20
20
 
21
21
  英語のみの検索で英語サイトもいくらか見ていますが、日本語と同じで、主にGETの説明サイトばかりで…。
22
+
23
+
24
+
25
+
26
+
27
+ ###追記
28
+
29
+ 回答いただいた内容と、追加で調べた内容で具体的なやり方を記載します。
30
+
31
+ 間違い・補足・他のやり方などあれば教えてもらえると助かります。
32
+
33
+
34
+
35
+ ◯基本URL XXX.com/news/index.php?id=123
36
+
37
+ ◯目標URL XXX.com/news/123
38
+
39
+ 記事などのIDのみでアクセスしたい。
40
+
41
+ 上記のようなURLのPHPを使った場合の一般的なやり方を具体的に知りたい。
42
+
43
+
44
+
45
+ mod_rewrite.cで内部的に書き換える方法をやりました。
46
+
47
+
48
+
49
+ ```htaccess
50
+
51
+ <IfModule mod_rewrite.c>
52
+
53
+ RewriteEngine on
54
+
55
+ RewriteBase /news
56
+
57
+ RewriteCond %{REQUEST_FILENAME} !-d
58
+
59
+ RewriteCond %{REQUEST_FILENAME} !-f
60
+
61
+ RewriteRule ^([0-9a-zA-Z]+)$ index.php?id=$1 [L]
62
+
63
+ </IfModule>
64
+
65
+ ```
66
+
67
+ この.htaccessをnewsディレクトリに配置するだけで記事IDのみでアクセスできるようになる。
68
+
69
+
70
+
71
+ RewriteRuleの所で記事IDである123を取得して、通常のindex.phpを使ったURLに内部的に書き換えているだけ。表示されるURLはアクセス時のまま。
72
+
73
+ 各書式などは mod_rewriteなどで検索すると分かりやすいサイトがありました。
74
+
75
+ index.php内で$_SERVER['REQUEST_URI']を使っている場合、ここにはアクセス時のIDのみのURLが入っているのが注意点。
76
+
77
+
78
+
79
+ 今回の内容に必要だった検索ワード
80
+
81
+  **PHP $_SERVER['PATH_INFO'] mod_rewrite.c RewriteRule 静的URL URL書き換え**
82
+
83
+
84
+
85
+ 同一の質問
86
+
87
+ https://teratail.com/questions/221666
88
+
89
+ https://teratail.com/questions/217874
90
+
91
+ https://teratail.com/questions/180651
92
+
93
+
94
+
95
+ 結局PATH_INFOを使った方法は、https://teratail.com/questions/221666のkawaxさんの回答だとmod_rewriteを使う1つ前のやり方なのでしょうか?PATH_INFOを使った他の良いやり方があるのでしょうか?PATH_INFO自体の解説サイトが今回見つからなかったので、今回は特に何も見つからずです。もし可能ならヒントでもいいので教えてもらえるとうれしいです。

1

検索したワードを追加

2020/07/24 04:26

投稿

dodoragon
dodoragon

スコア2

test CHANGED
File without changes
test CHANGED
@@ -8,4 +8,14 @@
8
8
 
9
9
 
10
10
 
11
- ネットでの検索はいろいろとしましたが、適切な検索ワードが思いつかず
11
+ ネットでの検索はいろいろとしましたが、適切な検索ワードが思いつかず
12
+
13
+
14
+
15
+ PHP SEO URL 動的ページ クエリ GET WEBサイト GETなし クエリなし 省略
16
+
17
+
18
+
19
+ 上記のようなワードしか思いつかず困っています。
20
+
21
+ 英語のみの検索で英語サイトもいくらか見ていますが、日本語と同じで、主にGETの説明サイトばかりで…。