teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記: RewriteCond で対処する方法

2017/05/17 05:30

投稿

TaichiYanagiya
TaichiYanagiya

スコア12218

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
+ ```