【问题标题】:How to redirect an URL properly using PHP [duplicate]如何使用 PHP 正确重定向 URL [重复]
【发布时间】:2019-08-05 19:04:52
【问题描述】:

问题说明

我想将每个页面从不友好的网址重定向到更友好的网址。

我已经在一个.htaccess 文件中使用mod_rewrite 实现了这一点,该文件确实将每个访问者发送到redirect.php。然后该文件会根据从 url 获取的参数处理将每个访问者重定向到哪里。

重定向确实可以将人们从/content.php?id?1 转移到/titulo-contenido-1 我想知道为什么重定向后网址看起来不“漂亮”。

例如,当您单击 Drupal 论坛中的链接时(我没有使用 Drupal,这只是一个示例),该 URL 看起来很友好:

在我的脚本中,即使用户点击了友好的 url,浏览器在页面渲染后也会显示不友好的。

我如何获得友好的网址:

我有一个 PHP 页面,其中包含一个简短的表单:该表单包含一个标题输入、一个 url 输入和文本区域。

当我保存表单的内容时,它会保存到 MySQL 数据库中:

id-X

title-这是我的标题

textarea-“.....”

url-this-is-my-title

当访问者点击 mywebsite.com/this-is-my-title 时,它​​被重定向(通过.htaccess 规则)到redirect.php

在那里,它捕获“this-is-my-title”部分并将其保存到变量中。

然后它查询数据库从url中获取id,最后它设置一个重定向:

$reenvioA = $http.'://'.$sitio.'/contenido.php?id='.$id;  
header('Location: '.$reenvioA);

所以网站中的链接都是友好的,用户就这样被重定向了。

它确实有效,但用户总是看到真正的链接。

我有几种不同结构的链接需要重定向(这一切都在具有不同规则的 redirection.php 文件中完成),因为我正在将来自不同旧网站的内容导入一个大新的,如果人们点击旧格式的链接,我需要正确重定向他们。

我的大问题

这会影响 SEO 吗? 或者它只是一个有效的可怕解决方案?

【问题讨论】:

  • 重定向是错误的方法。重写写作是你想要的。

标签: php .htaccess redirect mod-rewrite


【解决方案1】:

是的,它会影响 SEO,严重程度取决于您在基于变量的页面上执行的操作。

如果 /content.php?id=1 的内容与 /content.php 不同,Google 将不会知道 /content.php?id=1,因为它没有在站点地图中设置。这将极大地影响 SEO。

如果 /content.php?id=1 仅更改页面上的几个变量,例如 /content.php 显示“DEAR SIR”和 /content.php?id=1“Dear BILLY”,则不会受到惩罚你太过分了。

【讨论】:

  • 我的问题是我将 url 从 /content.php?id=1 重定向到 /titulo-1 并且我没有重写 url,所以 url 地址栏仍然显示 /content .php?id=1 当人们点击 /titulo-1
  • 是的,这会影响 SEO。您不会有一个信息丰富的 url 地址,并且页面上没有可供 google 抓取的链接,它不会知道这些页面存在。即使使用站点地图,您也会因无法访问而受到惩罚。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
  • 1970-01-01
  • 2010-09-30
  • 2015-06-08
  • 2018-06-28
  • 2018-06-20
相关资源
最近更新 更多