使用curl检查301 HTTP响应

3

我正在迁移一个网站。我需要将600多个旧的url迁移到新的symfony路由和301永久重定向类型的url。

以下是我的一个url示例:

redirect_test-url:
    path: /test-url
    defaults:
        _controller: FrameworkBundle:Redirect:urlRedirect
        path: /category/test-url
        permanent: true 
重定向似乎已经起作用了。但我需要确保所有旧的URL都使用301重定向进行重定向。我认为我可以使用PHP和Curl编写脚本来检查所有URL。但是我不知道如何获取Curl的结果。 以下是我的Curl请求:
curl https://local.dev -k 

但是我的终端只返回了HTML。

我该如何获取HTTP状态码响应并将其存储到数据库中?

3个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
5
您可以使用-D选项转储响应头:
curl -s -D - http://www.martar.fr -o /dev/null

响应:

HTTP/1.1 301 Moved Permanently
Date: Fri, 07 Oct 2016 07:50:51 GMT
Server: Apache/2.4.10 (Debian)
Location: https://www.martar.fr/
Content-Length: 309
Content-Type: text/html; charset=iso-8859-1

-s 用于静默模式(不输出任何内容)


1
我想也许你想要类似于这样的东西:
curl -sI https://example.com -w '%{response_code}:%{redirect_url}\n' -o /dev/null
作为额外奖励,这将为您提供重定向代码和重定向目标(如果有)。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,