php - 如何使用 PHP 正确重定向 URL
问题描述
问题的解释
我想将每个页面从不友好的网址重定向到更友好的网址。
我已经在一个.htaccess 文件中使用mod_rewrite 实现了这一点,该文件确实将每个访问者发送到redirect.php。然后该文件根据从 url 获取的参数处理将每个访问者重定向到哪里。
重定向确实可以让人们从/content.php?id?1
到/titulo-contenido-1
我想知道为什么重定向后 url 看起来不“漂亮”。
例如,当您单击 Drupal 论坛中的链接时(我没有使用 Drupal,这只是一个示例),该 URL 看起来很友好:
在我的脚本中,即使用户点击了友好的 url,浏览器在页面呈现后也会显示不友好的 URL。
我如何获得友好的网址:
我有一个 PHP 页面,其中有一个简短的表单:该表单包含一个标题输入、一个 url 和 textarea 输入。
当我保存表单的内容时,它会保存到 MySQL 数据库中:
身份证-X
标题- 这是我的标题
文本区域-“.....”
url-这是我的标题
当访问者点击 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吗?或者这只是一个有效的可怕解决方案?
解决方案
是的,它会影响 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”,它不会对您造成太大的惩罚.
推荐阅读
- pip - 无法在 pyenv virtualenv 中安装 lektor:“clang”存在于这些(其他)Python 版本中
- python - 从台面中的 CSV 文件创建代理 - python
- java - 编辑布局 xml 属性不显示更改,但能够通过获取对视图对象的引用并调用其布局更改方法
- reactjs - 在 reactjs 前端嵌入散景图
- javascript - 如何在兄弟元素之后只选择前两个 div 元素?
- airflow - Airflow 如何解析和存储 schedule_interval
- r - 加快蒙特卡洛模拟?
- javascript - Strato hidrive 上的节点 webdav。上传的二进制文件损坏
- javascript - 基于点击的样式和更改儿童的文本内容
- python - 为什么我的 python 程序给我一个错误,即 if/else 语句中的变量未定义?