回答編集履歴

3

追記

2015/06/15 06:24

投稿

ngyuki
ngyuki

スコア4514

test CHANGED
@@ -93,3 +93,29 @@
93
93
  もしそうなら、いわゆるリダイレクトをするのはおかしいような気がしますけど。
94
94
 
95
95
 
96
+
97
+ ---
98
+
99
+
100
+
101
+ 主要なフレームワークの大半が mod_rewrite でフロントに振り分けているので、そういうのからパクってくると良いですよ。
102
+
103
+
104
+
105
+ CakePHP とか超シンプルでわかりやすいです。
106
+
107
+
108
+
109
+ [https://github.com/cakephp/app/blob/master/webroot/.htaccess](https://github.com/cakephp/app/blob/master/webroot/.htaccess)
110
+
111
+
112
+
113
+ Symfony は複雑すぎて参考になる気がしません・・・
114
+
115
+
116
+
117
+ [https://github.com/symfony/symfony-standard/blob/2.8/web/.htaccess](https://github.com/symfony/symfony-standard/blob/2.8/web/.htaccess)
118
+
119
+
120
+
121
+

2

余談

2015/06/15 06:24

投稿

ngyuki
ngyuki

スコア4514

test CHANGED
@@ -87,3 +87,9 @@
87
87
  (Permanent なリダイレクトをブラウザが覚えているのかもしれません)
88
88
 
89
89
 
90
+
91
+ 余談ですが、これって index.php がフロントコントローラーなMVCなのではないのでしょうか?
92
+
93
+ もしそうなら、いわゆるリダイレクトをするのはおかしいような気がしますけど。
94
+
95
+

1

追記

2015/06/15 05:02

投稿

ngyuki
ngyuki

スコア4514

test CHANGED
@@ -1,4 +1,4 @@
1
- > /Applications/XAMPP/xamppfiles/htdocs/mvctest/
1
+ > /Applications/XAMPP/xamppfiles/htdocs/mvctest/
2
2
 
3
3
 
4
4
 
@@ -41,3 +41,49 @@
41
41
 
42
42
 
43
43
  また、そもそも RewriteBase は、そのディレクトリ(.htaccess を置いているディレクトリ)が、どのような URL (のパス)でアクセスされるのかを Apache が判断できないような状況(Alias とかシンボリックリンクとか)で、Apache にそれを教えてあげるために使うものなので、.htaccess を置いているディレクトリが DocumentRoot の中のディレクトリにあるなら、指定する必要はありません(Apache が RewriteBase を自動的に判断できるためです)。
44
+
45
+
46
+
47
+ ---
48
+
49
+
50
+
51
+ .htaccess は下記に保存してください。
52
+
53
+
54
+
55
+ ```
56
+
57
+ /Applications/XAMPP/xamppfiles/htdocs/mvctest/
58
+
59
+ ```
60
+
61
+
62
+
63
+ .htaccess の内容は以下のようにしてください。
64
+
65
+ RewriteCond を使う必要はありません。
66
+
67
+ RewriteBase もそのディレクトリ構成なら必要ないはずです。
68
+
69
+
70
+
71
+ ```
72
+
73
+ RewriteEngine on
74
+
75
+ RewriteBase /mvctest/
76
+
77
+ RewriteRule ^index\.php$ - [L]
78
+
79
+ RewriteRule .* index.php [L,R]
80
+
81
+ ```
82
+
83
+
84
+
85
+ もし、本当に `localhost/xampp/` というパスにリダイレクトされるのであれば、ブラウザのキャッシュをクリアしてみてください。
86
+
87
+ (Permanent なリダイレクトをブラウザが覚えているのかもしれません)
88
+
89
+