1

htaccess 内に次のような 301 リダイレクトのリストがあります。

Redirect 301 /oldpage1.php http://www.domain.com/newpage1.php
Redirect 301 /oldpage2.php http://www.domain.com/newpage2.php
Redirect 301 /oldpage3.php http://www.domain.com/newpage3.php
...

現在、これらのページは特定のドメインに対してのみリダイレクトされます (現在、www.domain.com のような同じ場所を指している他のドメインがあります)。

たとえば、 www.domain.com/oldpage1.phpはリダイレクトされますが、www.sub.domain.com/ oldpage1.php はリダイレクトされません。

では、これらのリダイレクトを www.domain.com のみに適用する方法は何ですか?

ありがとう。

4

1 に答える 1

1

mod_rewriteと.htaccessを有効にしてからhttpd.conf、次のコードをディレクトリの.htaccess下に配置します。DOCUMENT_ROOT

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule ^oldpage1\.php/?$ newpage1.php [L,R=301]

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule ^oldpage2\.php/?$ newpage2.php [L,R=301]

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule ^oldpage3\.php/?$ newpage3.php [L,R=301]

PS:上記のようなルールがいくつかある場合は、RewriteMapを使用することをお勧めします。

于 2012-05-16T20:51:25.260 に答える