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,然后将此代码放在您.htaccessDOCUMENT_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 回答