回答編集履歴

1

追記

2017/04/08 06:08

投稿

nullbot
nullbot

スコア910

test CHANGED
@@ -23,3 +23,101 @@
23
23
 
24
24
 
25
25
  とすれば期待した動作になるでしょうか?
26
+
27
+
28
+
29
+
30
+
31
+ # 2017/04/08 追記
32
+
33
+
34
+
35
+ ## ルーティングについて
36
+
37
+ 返答を見ている限りCodeIgniterのルーティングルールが理解できてないように思えます。
38
+
39
+ ルーティングの基本は
40
+
41
+ http://example.com/[コントローラクラス]/[コントローラメソッド]/[引数]
42
+
43
+ です。
44
+
45
+ この形になっていないものは
46
+
47
+
48
+
49
+ 1.サブディレクトリにある
50
+
51
+ 2.config/routes.phpでルーティングルールが記載されている
52
+
53
+ 3.indexの省略
54
+
55
+
56
+
57
+ しかありません。
58
+
59
+
60
+
61
+ http://hogehoge.com/
62
+
63
+ まずconfig/routes.phpで設定されるデフォルトコントーラーをみに行きます。
64
+
65
+ CodeIgniterではダウンロードした直後では
66
+
67
+
68
+
69
+
70
+
71
+ ```
72
+
73
+ $route['default_controller'] = 'welcome';
74
+
75
+ ```
76
+
77
+
78
+
79
+ と書かれているので
80
+
81
+ Welcome.phpが無いかを探しに行っていることになります。
82
+
83
+ またメソッド名が無い場合はindexメソッドを自動的に指定します。
84
+
85
+
86
+
87
+ したがってhttp://hogehoge.com/とアクセスした時にはwelcomeコントローラのindexメソッドが呼ばれています。
88
+
89
+
90
+
91
+ まずはどのコントローラーのどのメソッドで処理をしたいのかを明確にしてください。
92
+
93
+
94
+
95
+
96
+
97
+ ## mod_rewriteについて
98
+
99
+
100
+
101
+ ```
102
+
103
+ RewriteEngine On
104
+
105
+ RewriteCond %{REQUEST_URI} !/detail
106
+
107
+ RewriteRule ^(.*)$ /detail/$1 [R=301,L]
108
+
109
+ ```
110
+
111
+
112
+
113
+ http://www.hogehoge.com/322
114
+
115
+
116
+
117
+ http://www.hogehoge.com/detail/322
118
+
119
+ に転送できます。転送だけならこれで問題ありませんが、この先でCodeIgniterを動かしたいという話であれば転送せずにルーティングだけで考えた方がシンプルです。
120
+
121
+
122
+
123
+