6

これは私のhtaccessです:

## Rewrites
<IfModule mod_rewrite.c>
    RewriteEngine On

    Redirect /stream/ http://twitch.tv/8wayrun
    Redirect /stream http://twitch.tv/8wayrun

    RewriteCond %{HTTP_HOST} ^(www\.)?8wayrun\.com$
    RewriteRule ^(.*)$ http://8wayrun.com/calibur/$1 [R=302,L]
</IfModule>

基本的には、8wayrun.com/stream を twitch.tv/8wayrun に書き換える必要があります...

そして、8wayrun.com を 8wayrun.com/calibur に書き換える必要があります...

問題は、8wayrun.com/stream を 8wayrun.com/calibur/stream に書き換えていることです。これを修正するにはどうすればよいですか?

4

1 に答える 1

9

Redirectディレクティブは mod_alias の一部であり、ディレクティブRewrite*は mod_rewrite の一部です。URI が URL/ファイル マッピング パイプラインを介して処理されると、両方のモジュールが適用されるため、一方が他方の前にあることは問題ではなく、最終的に両方が適用されます。

mod_rewrite のみに固執し、Lフラグを使用して余分なリダイレクトが適用されないようにすることをお勧めします。

## Rewrites
<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteRule ^/?stream/? http://twitch.tv/8wayrun [R=302,L]

    RewriteCond %{HTTP_HOST} ^(www\.)?8wayrun\.com$
    RewriteRule ^(.*)$ http://8wayrun.com/calibur/$1 [R=302,L]
</IfModule>
于 2012-12-28T19:51:08.033 に答える