Htaccess 301重定向仅限域名

时间:2012-05-16 12:43:24

标签: .htaccess redirect

我在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)。

E.g。 www.domain.com/oldpage1.php 应重定向,但 www.sub.domain.com/oldpage1.php 不会。

那么,仅针对www.domain.com应用这些重定向的方式是什么?

感谢。

1 个答案:

答案 0 :(得分:1)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.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要好得多。