-1

我计划使用我在此处找到的技术(http://css-tricks.com/snippets/htaccess/temporary-maintenance-using-mod_rewrite/)建立一个临时维护页面约 6 小时。代码如下所示:

# Don't forget to turn on the rewrite engine
RewriteEngine on

# Maintenance Redirection
# Replace 555\.555\.555\.555 with your own IP address
# Uncomment first conditional to turn off the redirection
# RewriteCond %{REQUEST_URI} ^$a
RewriteCond %{REQUEST_URI} !maintenance.html
RewriteCond %{REQUEST_FILENAME} !(styles|images).+$
RewriteCond %{REMOTE_ADDR} !^555\.555\.555\.555$
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteRule (.*) /maintenance.html [R,L]

使用这种方法时有什么我应该注意的吗?如果我这样做,我会招致任何长期的 SEO/Google 搜索排名问题吗?请指教。

4

2 回答 2

1

除了上面的 mod_rewrite 东西(确保你使用 R=302 或 R=307),建议在你的/maintenance.html:

<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

这将确保/maintenance.html不会被搜索机器人索引,并且您不会失去任何搜索引擎排名。

于 2013-04-07T17:38:16.797 回答
0

要添加的一件重要事情如下。

RewriteRule (.*) /maintenance.html [R=307,L]

307代码将告诉搜索引擎重定向是临时的。它不应该影响你的排名。

服务器当前正在使用来自不同位置的页面响应请求,但请求者应继续使用原始位置来处理未来的请求。此代码类似于 301,因为对于 GET 或 HEAD 请求,它会自动将请求者转发到不同的位置,但您不应使用它来告诉 Googlebot 页面或站点已移动,因为 Googlebot 将继续抓取并索引原始位置。

引自http://support.google.com/webmasters/bin/answer.py?hl=en&answer=40132


更新: 如果未指定,则默认使用 302 状态代码。因此,这将使您的规则也有效。谷歌似乎以同样的方式对待他们。

但是明确告诉规则使用哪个状态码仍然是一种好习惯。只是为了清楚起见。

于 2013-04-07T16:40:30.437 回答