【发布时间】: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