【问题标题】:SEO and changes to page addresses [closed]搜索引擎优化和页面地址的更改[关闭]
【发布时间】:2016-02-29 11:03:09
【问题描述】:

我的网站已经存在了几年,并且在谷歌搜索中的定位非常好。现在我想通过引入一个框架来重建网站。框架更改的一件事是所有内容都通过 index.php 进行路由,并且正在重写 url。

当前子页面如下所示(示例):

mysite.com/home.phpmysite.com/work.php

在框架介绍之后,它们将如下所示:

mysite.com/homemysite.com/work

现在谁能告诉我这会伤害/重置页面排名,如果是这样,我如何制作一个框架 (Yii2) 将 .php 附加到控制器名称,这是否明智...

【问题讨论】:

  • 离题 - 搜索引擎将如何排名/显示您的网站不是编程
  • 我猜你只需要在项目的 htaccess 中添加 301 重定向,这样旧的 url 就会“迁移”到新的 url 而不会丢失。抱歉,除了webconfs.com/how-to-redirect-a-webpage.php(htaccess 重定向)之外,我找不到好的材料来源

标签: url routing seo yii2


【解决方案1】:

这可以通过 Yii2 实现,

您可以在站点控制器下创建所有页面,并将以下内容添加到您的项目中:

config/main.php

'urlManager' => [
    'class' => 'yii\web\UrlManager',
    // Disable index.php
    'showScriptName' => false,
    // Disable r= routes
    'enablePrettyUrl' => true,
    // Add suffix
    'suffix' => '.php',
    // General rules, and remove controller name for site
    'rules' => [
        '<controller:\w+>/<id:\d+>' => '<controller>/view',
        '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
        '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
        '<alias:home|work|etc>' => 'site/<alias>',
    ],
],

.htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

或者,如果更方便,可以为每个页面创建一个控制器。但你会明白的。

文档: urlManager urlManager - Suffix

$suffix 公共属性

“路径”格式时使用的 URL 后缀。例如,可以使用“.html”,使 URL 看起来像指向静态 HTML 页面。仅当 $enablePrettyUrl 为 true 时才使用此属性。 公共字符串 $suffix = null

【讨论】:

  • 谢谢,我不知道后缀选项,别名:... 规则成功了。不知道为什么有人会否决一个完美的答案!也许所有不喜欢回答“离题”问题的正义力量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多