26749
apacheにて  
全てのアクセスを指定した階層下に **URLを保持したまま** リダイレクトしたいです。

下記のような感じです

```

    www.example.com -> www.example.com/test
    www.example.com/login -> www.example.com/test/login
    
```

記述としては

```

     Rewriterule ^(/.*)$ /test$1 [R=301,L]
    
```

だと思うのですが、これだとリダイレクトループになりますので、  
RedirectCondで条件指定するのですが、  
URLを保持したままリダイレクトしたいので

```

    RewriteCond %{REQUEST_URI} !^/test(/.*)$
    
```

が使えないため悩んでおります。
CC BY-SA 3.0
2016-06-13T07:15:57.363
26705
2016-06-14T14:58:19.770
9328
question
apache .htaccess
apacheで全てのアクセスを指定した階層下にリダイレクトしたい
「URLを保持したままリダイレクト」の意味は、HTTPレスポンスの 301,302リダイレクトではなく、mod_rewrite
で言うところの内部サブリクエストとか、内部リダイレクトと呼ばれるものではないでしょうか。  
もし、そうれあれば、R=301 は必要なく、以下のように設定するといいと思います。

```

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/test/
    RewriteRule ^(.*)$ /test/$1 [L]
    
```
CC BY-SA 3.0
2016-06-14T14:58:19.770
26749
2016-06-14T14:58:19.770
4603
26705
answer