質問編集履歴
4
複数クエリの場合を追記
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
部分修正
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
回答と調べた内容を元にした追記
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
検索したワードを追加
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の説明サイトばかりで…。
|