如何在 angularjs SPA 上获得 301 响应 - dotnet

How to have 301 response on angularjs SPA - dotnet

提问人:Franco Neil Glovasa 提问时间:11/14/2023 更新时间:11/14/2023 访问量:11

问:

我在网络选项卡上看到 301 响应,但在去向或任何 SEO 重定向工具上,我得到了 200 响应。知道如何欺骗 SEO 工具以获得 301 重定向响应吗?

控制器

[HttpGet]
[Route("Redirector")]
public HttpResponseMessage Redirector(string targetUrl)
{
    var httpResponse = Request.CreateResponse(HttpStatusCode.MovedPermanently);
    httpResponse.Headers.Add("X-Redirect-Status", "301");
    httpResponse.Content = new StringContent(targetUrl);

    return httpResponse;
}

JS系列

this.redirector = function (newUrl) {
    return $http.get("/api/redirect/Redirector?targetUrl=" + newUrl);
};

$ctrl.redirector = function (newUrl) {
    redirectService.redirector(newUrl)
        .then(function (response) {
            var newLocation = response.data;
            $location.path(newLocation);
        })
        .catch(function (error) {
            var newLocation = error.data;
            $location.path(newLocation);
        });
};
.NET AngularJS 重定向

评论

0赞 Will Huang 11/15/2023
您使用的是哪个 ASP.NET 版本?
0赞 Will Huang 11/15/2023
标题似乎没用。您可以将其删除。X-Redirect-Status
0赞 Will Huang 11/15/2023
返回 HTTP 301 的任何字符串内容也是无用的。
0赞 Will Huang 11/15/2023
在 SPA 体系结构中,您不必真正“重定向”到同一站点中的另一条路径。你确定你必须这样做吗?您的网站是作为 SPA 编写的吗?
0赞 Franco Neil Glovasa 11/16/2023
我使用 dotnet 4.8。得到了这个短链接重定向器,因为旧 url 很长并且得到了一个短链接,但我需要它重定向为 301 用于 SEO 目的。

答: 暂无答案