0

m.example.com を m.example.com/subdir にリダイレクトする方法は?

RewriteEngine on
RewriteCond %{HTTP_HOST} ^m.example.com$ [NC]
RewriteRule (.*)$ http://m.example.com/subdir [R=301,L]

私も使用できません:

redirect 301 / http://m.example.com/subdir

メインの www サイトもリダイレクトされるため

4

2 に答える 2

0

/だけをリダイレクトしますが、その下には何もリダイレクトしません。m.example.com <VirtualHost>

RedirectMatch ^/$ http://m.example.com/subdir/

subdirまたは、それ自体のリクエスト以外のすべてをリダイレクトするsubdir場合は、mod_rewriteを使用できます。

RewriteCond %{REQUEST_URI} !^/subdir
RewriteRule ^(.*)$ http://m.example.com/subdir$1 [R=301,L]
于 2012-07-06T08:09:24.493 に答える
0

リクエストがすでに/subdir/に対するものである場合にリダイレクトされないように、条件を追加する必要があります。これを書き換えルールの上のどこかに追加します。

RewriteCond %{REQUEST_URI} !^/subdir

ルールに後方参照もありません。

RewriteRule (.*)$ http://m.example.com/subdir/$1 [R=301,L]

リダイレクトしたいのがルート(URI = /)のリクエストだけである場合、追加の書き換え条件は必要ありません。ルールの正規表現を変更するだけです

RewriteRule ^$ http://m.example.com/subdir [R=301,L]
于 2012-07-06T07:50:37.847 に答える