回答編集履歴
1
追記: RewriteCond で対処する方法
answer
CHANGED
@@ -1,3 +1,14 @@
|
|
1
1
|
エラーログに「AH00124: Request exceeded the limit of 10 internal redirects ...」が出力されているようなら、ループしています。
|
2
2
|
.htaccess の場合、[L] (Last)フラグであっても、書き換え後のパスに対して再度先頭のルールから処理されます。
|
3
|
-
Apache httpd 2.4 ならば [END] が利用できます。
|
3
|
+
Apache httpd 2.4 ならば [END] が利用できます。
|
4
|
+
|
5
|
+
---
|
6
|
+
**(2017/05/17 14:30) 追記**
|
7
|
+
Apache httpd 2.2 なのでしょうか?
|
8
|
+
以下のように、「REQUEST_URI が /sub/ で始まっていなければ」という条件を付けるのはどうでしょうか。
|
9
|
+
```
|
10
|
+
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$ [NC]
|
11
|
+
RewriteCond %{DOCUMENT_ROOT}/sub/%1 -d
|
12
|
+
RewriteCond %{REQUEST_URI} !^/sub/
|
13
|
+
RewriteRule ^(.*)$ sub/%1/$1 [L]
|
14
|
+
```
|