0

古いサイト(wellnowwhat.net/nin/*.*)のすべてのページを新しいサイトのインデックス(sykonaut.net/nin_old/)にリダイレクトしようとしています。私は新しいサイトの.htaccess(古いサイトは友人が所有しています)にしかアクセスできないので、反対方向にテストしています。mod_rewriteを使用してルート(sykonaut.net)をルート(wellnowwhat.net)にリダイレクトできますが、nin_oldディレクトリを彼のninディレクトリにリダイレクトできません。逆方向にもリダイレクトできないのではないかと思います。これが私の.htaccessのコードです:

AddHandler php5_2-wrap .php
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.sykonaut.net$ [NC]
RewriteRule ^/nin_old(.*)$ http://www.wellnowwhat.net/nin [R,NC,L]

それは動作しません。誰もが理由を知っていますか?

4

2 に答える 2

1

.htaccessディレクトリにあなたを置きますnin_old

RewriteEngine on
RewriteBase /nin_old
RewriteRule ^.* http://www.wellnowwhat.net/nin/ [R,NC,L]

ディレクトリへの外部URLにリダイレクトする場合、余分なリダイレクトを減らすため、末尾にスラッシュを追加します。

また、すべてをテストして問題がない場合は、に変更RR=301てください。これは、永続的なリダイレクトのほとんどの検索エンジンで推奨されています。

于 2012-07-16T03:54:53.387 に答える
0

apache 2.0以降では、プレフィックス(先頭の「/」)は、.htaccessファイルのルールの書き換えエンジンを通過する前にURIから削除されます。ルールの正規表現から先頭のスラッシュを削除してみてください。

RewriteRule ^nin_old(.*)$ http://www.wellnowwhat.net/nin [R,NC,L]
于 2012-07-16T03:43:59.947 に答える