StackOverflow 中的 301 重定向。它是如何运作的? [关闭]

2024-01-11

我们以这个问题的网址为例

http://stackoverflow.com/questions/20306229/301-redirect-in-stackoverflow-how-does-it-works

如果我更改 URL 最后部分的某些内容,使其类似于

http://stackoverflow.com/questions/20306229/301-r

我收到一条 301 消息,并且完全重定向到我编写的第一个 URL。

恕我直言,这确实是 SEO 友好的。问题是:他们是怎么做到的?是否可以通过 .htaccess 来实现它,或者还有其他方法可以实现?在这种情况下该采取什么方式?

我不是真正的专家,但看起来不可能通过 htaccess 到达......它看起来更像

  1. 我从 URL 中获取帖子 ID
  2. 我检查数据库以查看标题是否相同
  3. 如果不是,我会重写 URL 并发送 301 响应

我假设他们通过一个页面路由请求,该页面检查数据库中的搜索引擎优化标题。

RewriteRule ^questions/([0-9]+)/?$ routepage.php?id=$1 [R=301,L]
RewriteRule ^questions/([0-9]+)/(.*)/?$ routepage.php?id=$1&title=$2 [R=301,L]

还有一个文件routepage.php

$page = getSeoTitleFromDatabase( $_GET['id'] );
if( $page != $_GET['page'] ) {
  header( "HTTP/1.1 301 Moved Permanently" );
  header( "Locations: /questions/" . $_GET['id'] . "/" . $page );
}
//Do whatever...

我不知道检查数据库的方法.htaccess or mod_rewrite.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

StackOverflow 中的 301 重定向。它是如何运作的? [关闭] 的相关文章

  • .htaccess 只允许访问包含文件

    我的网站上有各种子文件夹 我希望用户无法通过 URL 访问它们 但同时我的主要 PHP 文件能够包含它们或将它们用作表单或链接上的操作 我尝试使用 htaccess 与
  • django获取FileField的绝对路径

    我试图在模板上调用 FileField 时检索绝对路径 以 http 开头 我怎样才能做到这一点 ie fl uploadedfile gt 返回相对路径 如 media uploads 当我想要的时候This http www blabl
  • Request.Url.Query 和 Request.QueryString 有什么区别?

    我一直在追踪 URL 重写应用程序上的错误 该错误表现为查询字符串中某些变音符号的编码问题 基本上 问题是基本上 search aspx search he m nek 的请求被 search he c5 99m c3 a1nek 的查询字
  • 将子域重定向到 CakePHP 操作

    背景 我有一个 CakePHP 应用程序 位于 m 我想写一个根级别的 htaccess文件 它将重定向网站的 子域 作为操作的参数 例如 我想编写一个重写规则 这将导致像这样的重定向 http mysite myserver com ht
  • Windows 服务器上的 .htaccess 文件

    我进行了研究 发现我的 htaccess 文件无法在我的新 Windows 服务器上运行 我发现我应该使用 web config 我尝试了一下 但没有任何效果 然后我发现我可以使用 htaccess 文件 但我必须将其命名为其他名称 例如
  • WordPress Symfony 共存

    我们有一个在 Symfony 上运行的网站 它是由比我更有能力的人开发的 不过 我对 WordPress 非常熟悉 并将在该网站上安装一个博客 目前 该网站的根运行在 Symfony 上 但我希望 WordPress 能够接管 而不必触及
  • HTTP 到 HTTPS 301 重定向代码不起作用,显示重定向过多

    我正在为我的网站之一使用 Bluehost 最近 最近 我已将我的网站从 HTTP 迁移到 HTTPS 之后 我使用了不同的代码 包括以下代码 在我的网站上强制使用 HTTPS SSL Rewrite RewriteEngine On Re
  • 如何使用 Nuxt ServerMiddleware 和 Apollo GraphQL 处理 301 重定向

    我目前正在构建一个 Vue Nuxt 应用程序 并结合修改后的 Saleor 安装来在线销售产品 当我们从现有系统迁移时 我们需要能够处理从旧网站 URL 到新网站 URL 的 301 重定向 我修改了 API 以响应以下 GraphQL
  • Apache 重写规则可以使用或不使用尾部斜杠

    我正在尝试重定向一系列静态 URL 并且无论尾部斜杠是否存在 我都希望它能够正常工作 foo bar gt tacos foo bar gt tacos 我已经尝试了以下方法以及各种变体 但我总是只得到尾部斜杠存在的匹配项 RewriteR
  • 如何通过htaccess在codeigniter中隐藏index.php和控制器名称

    我想从我的 codeignier url 网站隐藏 index php 和控制器名称 我也想替换这个术语 seo test product ad test product 我在下面提到了我的 htaccess 文件 请指导我如何解决这个问题
  • 将代码从 htaccess 重写为 nginx 配置?

    我在将 htaccess 文件中的重写代码实现到 nginx 配置中时遇到问题 我已经尝试过生成器 http winnginx com htaccess http winginx com htaccess用于生成我的重写 代码 我的ngin
  • htaccess重写和auth冲突

    我有 2 个目录 每个目录都有一个 htaccess 文件 html htaccess 该文件进行了重写 将几乎所有内容发送到 url php RewriteCond REQUEST URI exported php gif jpe g p
  • 如何禁用 HTTP 的 HSTS 标头?

    我已将以下内容插入到我网站的 htaccess 中 以便能够访问HSTS预加载列表 https hstspreload appspot com
  • 将 .php URL 重定向到不带扩展名的 URL [重复]

    这个问题在这里已经有答案了 可能的重复 使用 htaccess 删除 php 扩展名 https stackoverflow com questions 4026021 remove php extension with htaccess
  • PHP和.htaccess认证解决方案

    这是布局 web root admin dir index php js img other files dirs dir files 到目前为止 我使用 htaccess passwd 保护管理目录 因为我希望对该目录中的所有文件 包括
  • htaccess隐藏php扩展时出错,只隐藏html

    我在使用 htaccess 隐藏网站上的 php 扩展时遇到问题 我看到很多网站试图修复它 但没有任何结果 但只有 html 扩展名对我来说是隐藏的 在我的 htaccess 上 我用这个来隐藏扩展 它就在错误页面之后 这是我的 htacc
  • 如何在 ASP.Net MVC 中执行 301 永久重定向路由

    如何在 ASP NET MVC 中执行 HTTP 301 永久重定向路由 创建一个继承自 ActionResult 的类 public class PermanentRedirectResult ActionResult public st
  • .htaccess 在动态文件夹名称中加载索引

    我在 htaccess 加载动态文件夹名称中的索引时遇到问题 这是我的目录结构 root products gt this is constant folder name 而不是使用 GET 获取产品 url root products i
  • 如果文件名减去扩展名,.htaccess url 重写行为将被覆盖。与网址相同

    我正在尝试整理 URL 并从中删除 php 扩展名等 我位于网站的基本文件夹中 因此没有可以优先处理的父 htaccess 文件或其他文件 这是我的 htaccess 代码 RewriteEngine On RewriteRule give
  • AH10411 错误:在 apache mod_rewrite 中管理空格和 %20

    我今天更新了 Apache 到 2 4 56 1 并且加载了 htaccess过去有效的重写现在出现了 AH10411 错误 与查询中的空格有关 我正在努力寻找 适当 的解决方案 用户单击一个链接 例如 a href FISH 20J123

随机推荐