301直接在HTML文件中重定向

301直接在HTML文件中重定向,html,iis-7,redirect,http-status-code-301,Html,Iis 7,Redirect,Http Status Code 301,我已经在我的网站上更改了一些文件名,现在我想让“301永久移动”从旧文件重定向到新文件 问题是,我的网页完全由静态html页面组成,所有301重定向教程都描述了如何在PHP、ASP、htaccess等中进行重定向。我想将重定向直接写入旧的html文件,这可能吗?或者我必须联系我的网络提供商并解决服务器上的重定向问题 关于服务器,我只知道它运行在Windows上,而我对服务器一无所知 编辑:我的web主机使用的是Microsoft IIS 7.0,因此我假设此处不可能使用.htaccess 编辑#

我已经在我的网站上更改了一些文件名,现在我想让“301永久移动”从旧文件重定向到新文件

问题是,我的网页完全由静态html页面组成,所有301重定向教程都描述了如何在PHP、ASP、htaccess等中进行重定向。我想将重定向直接写入旧的html文件,这可能吗?或者我必须联系我的网络提供商并解决服务器上的重定向问题

关于服务器,我只知道它运行在Windows上,而我对服务器一无所知


编辑:我的web主机使用的是Microsoft IIS 7.0,因此我假设此处不可能使用.htaccess


编辑#2:刚才我的服务器管理员告诉我,即使我只使用静态HTML页面,我仍然可以使用web.config文件重定向单个HTML文件。这很好。

您不能用HTML更改HTTP状态代码

但如果您使用的是Apache Web服务器,则可以使用或将此类请求重定向到新地址:

# mod_rewrite
RewriteEngine on
RewriteRule ^old\.html$ /new.html [L,R=301]

# mod_alias
RedirectMatch 301 ^/old\.html$ /new.html


编辑当您现在澄清您正在使用IIS 7时,请查看其。

不,这是不可能的。服务器不处理HTML,因此无法设置HTTP头

您应该查看Apache配置(例如,使用.htaccess)

在最简单的情况下,您可以:

  Redirect 301 old.html http://example.com/new/
  Redirect 301 other-old.html http://example.com/newer/

我想您可以使用JavaScript和/或元刷新(正如Gumbo建议的那样)将用户从旧页面重定向到新页面。 比如:

<html>
<head>
  <meta http-equiv="refresh" content="0;url=http://YourServer/NewFile.html" />

  <script type="text/javascript">
    location.replace('http://YourServer/NewFile.html');
  </script> 
</head>
<body>
  This page has moved. <a href="http://YourServer/NewFile.html">Click here for the new location</a>
</body>
</html>

位置。替换('http://YourServer/NewFile.html');
此页面已移动。

在IIS中重定向单个页面是一件简单的事情,可以在web.config文件中完成

  <location path="products.htm">
    <system.webServer>
      <httpRedirect enabled="true" destination="http://yourserver/products" httpResponseStatus="Permanent" />
    </system.webServer>
  </location>


检查HTTP标头字段
服务器
,了解服务器如何识别自身。您可以使用查看HTTP头字段。我的web主机使用的是Microsoft IIS/7.0,是否有类似的方法或重定向?请注意:您不能设置HTTP头字段,对。但是
meta
元素中的
httpequiv
应该是http等价的。所以这些信息应该被视为HTTP头字段。不,HTTP等价物应该由HTTP服务器读取和解析,而不是由客户端读取和解析。HTTP服务器不这样做,客户机对此的支持非常差。这是一个半死不活、半途而废的特性,在HTML5中几乎被完全删除。让JS重定向的唯一原因似乎是为了那些禁用元刷新的人,我想很多人不会这么做。我曾经在我维护的站点上使用这个三级重定向,但后来放弃了JS重定向。那些讨厌元刷新并禁用它的人可能会讨厌JS做同样的事情。