【问题标题】:Htaccess 301 redirect for domain only仅针对域的 Htaccess 301 重定向
【发布时间】:2012-05-24 00:44:33
【问题描述】:

我在 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 应用这些重定向的方法是什么?

谢谢。

【问题讨论】:

  • 为此使用 mod_rewrite 的 RewriteRuleRewriteCond %{HTTP_HOST} ^www\.domain\.com$

标签: .htaccess redirect


【解决方案1】:

通过httpd.conf启用mod_rewrite和.htaccess,然后把这段代码放到你.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

【讨论】:

    猜你喜欢
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    相关资源
    最近更新 更多