0

我在专用服务器上有一个 drupal 站点,人们可以从 IP 地址访问我的站点。谷歌机器人也已经索引了一些页面。

我想从 .htacces 文件做 301 重定向。这是一种有效的方法吗?

在这种情况下我该怎么办?

4

4 回答 4

1

在我看来,您应该使用 mod_rewrite(如果您的网络服务器是 Apache)而不是重定向。通过添加 .htaccess 之类的东西

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_HOST} !^www.mydomain.com$ [NC]
  RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]
</IfModule>

您会告诉 Apache 以 www.mydomain.com/ 的形式重写任何找到您站点文件夹的方式的 http 请求,并发送 301 标头以通知机器人这是它应该使用的正确 URL。

要完成这项工作,您需要确保在您的 Apache 配置中启用了 mod_rewrite。

于 2013-03-29T11:41:29.540 回答
0

检查客户端是否发送了适当的 HTTP 主机头字段。如果没有,请重定向。如果客户端拒绝遵守 RFC 2616,这当然会导致问题。

另一种选择是在 Apache 中设置一个默认虚拟主机,它可以回答不包含有效 HTTP Host 标头字段的请求。

于 2013-03-28T15:31:07.353 回答
0

一种方法是要求他们更改他们的“主机”文件,如果他们有 Windows。C:\Windows\System32\drivers\etc 在记事本中拖放“hosts”文件。在文件末尾添加这样的一行:127.0.0.1 mydedicatedsite.com 其中数字是您的 IP 地址。保存存档。

有时该文件需要额外的权限才能让您保存,因此只需向当前用户或“每个人”Windows 用户授予临时权限。

您还可以创建一个他们可以执行的批处理文件,让他们更轻松。

最后,即使该域不存在,它们也会被重定向到您指定 IP 的站点。

于 2013-03-28T15:35:43.670 回答
0

好的,所以如果您不能告诉他们“停止访问我的 IP 地址,改用域”,那么我会创建一个虚拟主机来接收所有传入您网站的流量,并使用 .htaccess 甚至是简单的 Javascript 进行重定向重定向,也可以使用第二个选项添加自定义消息,例如“站点已移动,重定向到 domain.com...”

<script language="javascript">alert("Site has moved, redirecting to domain.com ..."); self.location=”domain.com”;</script>

这仅适用于用户流量。

于 2013-03-28T16:28:07.680 回答