阅读HTTP 规范。响应告诉浏览器请求的301
资源已永久移动到被重定向到的新 URL,并且不应再使用原始 URL:
10.3.2 301 永久移动
请求的资源已被分配一个新的永久 URI,并且任何将来对该资源的引用都应该使用返回的 URI 之一。如果可能,具有链接编辑功能的客户端应该自动将对 Request-URI 的引用重新链接到服务器返回的一个或多个新引用。除非另有说明,否则此响应是可缓存的。
新的永久 URI 应该由响应中的 Location 字段给出。除非请求方法是 HEAD,否则
响应的实体应该包含一个简短的超文本注释,其中包含指向
新 URI 的超链接。
如果收到 301 状态代码以响应
GET 或 HEAD 以外的请求,用户代理不得自动重定向
请求,除非用户可以确认,因为这可能会
改变发出请求的条件。
Note: When automatically redirecting a POST request after
receiving a 301 status code, some existing HTTP/1.0 user agents
will erroneously change it into a GET request.
对于您正在尝试的内容,请尝试使用302
,303
或307
代替。
10.3.3 302 找到
请求的资源临时驻留在不同的 URI 下。
由于重定向有时可能会改变,客户端应该继续使用 Request-URI 来处理未来的请求。此响应
仅在由 Cache-Control 或 Expires 标头
字段指示时才可缓存。
临时 URI 应该由
响应中的 Location 字段给出。除非请求方法是 HEAD,否则
响应的实体应该包含一个简短的超文本注释,其中包含指向
新 URI 的超链接。
如果收到 302 状态码以响应GET 或 HEAD 以外的
请求,除非用户可以确认,否则
用户代理不得自动重定向请求,因为这可能会
改变发出请求的条件。
Note: RFC 1945 and RFC 2068 specify that the client is not allowed
to change the method on the redirected request. However, most
existing user agent implementations treat 302 as if it were a 303
response, performing a GET on the Location field-value regardless
of the original request method. The status codes 303 and 307 have
been added for servers that wish to make unambiguously clear which
kind of reaction is expected of the client.
.
10.3.4 303 见其他
可以在不同的 URI 下找到对请求的响应,并且应该使用该资源上的 GET 方法来检索。此方法
的存在主要是为了允许 POST 激活脚本的输出
将用户代理重定向到选定的资源。新的 URI 不是
原始请求资源的替代引用。303
响应不能被缓存,但对第二个
(重定向)请求的响应可能是可缓存的。
不同的 URI 应该由
响应中的 Location 字段给出。除非请求方法是 HEAD,否则
响应的实体应该包含一个简短的超文本注释,其中包含指向
新 URI 的超链接。
Note: Many pre-HTTP/1.1 user agents do not understand the 303
status. When interoperability with such clients is a concern, the
302 status code may be used instead, since most user agents react
to a 302 response as described here for 303.
.
10.3.8 307 临时重定向
请求的资源临时驻留在不同的 URI 下。
由于重定向有时可能会改变,客户端应该
继续使用 Request-URI 来处理未来的请求。此响应
仅在由 Cache-Control 或 Expires 标头
字段指示时才可缓存。
临时 URI 应该由
响应中的 Location 字段给出。除非请求方法是 HEAD,否则
响应的实体应该包含一个简短的超文本注释,其中包含指向
新 URI 的超链接,因为许多 HTTP/1.1 之前的用户代理不
理解 307 状态。因此,注释应该包含用户
在新 URI
上重复原始请求所需的信息。
如果收到 307 状态代码以响应
GET 或 HEAD 以外的请求,则用户代理不得自动重定向
请求,除非用户可以确认,因为这可能会
改变发出请求的条件。