Php 301重定向头语法

Php 301重定向头语法,php,redirect,syntax,http-headers,Php,Redirect,Syntax,Http Headers,在许多情况下,301重定向头在PHP中的定义如下: header('HTTP/1.0 301 Moved Permanently'); // or HTTP/1.1 header('Location: /new/path/'); 但是,我注意到以下HTTP状态代码定义也适用: header('HTTP/1.0 301') 标题('HTTP/1.0 301 Moved') header('HTTP/1.0 301因其他原因被移动') 我没有发现任何明确的规范说,永久移动零件是必须的 所以可以

在许多情况下,301重定向头在PHP中的定义如下:

header('HTTP/1.0 301 Moved Permanently'); // or HTTP/1.1
header('Location: /new/path/');
但是,我注意到以下HTTP状态代码定义也适用:

  • header('HTTP/1.0 301')
  • 标题('HTTP/1.0 301 Moved')
  • header('HTTP/1.0 301因其他原因被移动')
我没有发现任何明确的规范说,
永久移动
零件是必须的

所以可以使用短版本的
头('HTTP/1.0 301')

根据(超文本传输协议——HTTP/1.0),
原因短语
状态行
的一部分,但
原因短语
可能为空

将原因短语
的ABNF描述如下:

Reason-Phrase  = *<TEXT, excluding CR, LF>

此外,您可以在不影响协议的情况下使用任何原因短语


定义的数字状态代码的各个值 HTTP/1.0以及相应原因短语的示例集是
如下所示此处列出的原因短语仅供推荐
--它们可以在不影响协议的情况下由本地等效物替换。


我从未见过这种语法,我总是使用
标题('Location:/my/new/path',true,301)
。我从未设置HTTP状态代码的名称。
The character "*" preceding an element indicates repetition. The
full form is "<n>*<m>element" indicating at least <n> and at
most <m> occurrences of element. Default values are 0 and
infinity so that "*(element)" allows any number, including zero;
"1*element" requires at least one; and "1*2element" allows one
or two.