26749


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

下記のような感じです

[code]

    www.example.com -> www.example.com/test
    www.example.com/login -> www.example.com/test/login
    
[/code]

記述としては

[code]

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

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

[code]

    RewriteCond %{REQUEST_URI} !^/test(/.*)$
    
[/code]

が使えないため悩んでおります。


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 は必要なく、以下のように設定するといいと思います。

[code]

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/test/
    RewriteRule ^(.*)$ /test/$1 [L]
    
[/code]


CC BY-SA 3.0
2016-06-14T14:58:19.770
26749
2016-06-14T14:58:19.770
4603
26705
answer