Tienes que aprender del protocolo HTTP, no meramente copiar codigo sin entendimiento.
HTTP usa verbos (GET, POST, HEAD, ...), encabezados, estados, respuestas y solicitudes. Es un protocolo de texto.
Que significa 301?
https://es.wikipedia.org/wiki/HTTP_301
P.D: Tip. Mira con el navegador cualquier pagina usando click derecho, inspeccionar. En la pestaña de red, veras los request/response. Para ESTE hilo son:
Código:
Resumen
URL: http://www.clubdelphi.com/foros/showthread.php?p=538033#post538033
Estado: 200 OK
Fuente: Red
Dirección: 87.98.231.4:80
Solicitud
GET /foros/showthread.php HTTP/1.1
Cookie: SERVERID111702.........
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
Host: www.clubdelphi.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15
Referer: http://www.clubdelphi.com/foros/search.php?searchid=5741235
Accept-Language: es-es
Connection: keep-alive
Responder
HTTP/1.1 200 OK
Content-Type: text/html; charset=ISO-8859-1
Pragma: no-cache
Set-Cookie: SERVERID111702=34066; path=/; max-age=900
Content-Encoding: gzip
Expires: 0
Transfer-Encoding: Identity
Cache-Control: private, post-check=0, pre-check=0, max-age=0
Date: Wed, 22 Jul 2020 13:16:47 GMT
Vary: Accept-Encoding
X-IPLB-Instance: 31965
X-Powered-By: PHP/5.4
Server: Apache
Parámetros de la cadena de consulta
p: 538033
Es IMPORTANTE recordar que NO EXISTE una obligación de responder de forma idéntica en los encabezados. Aparte del status todo lo demás puede estar vació.
Y te puede decir mentiras.