2016-02-29 85 views
-1

我有网站已经存在了几年,并在谷歌搜索很好定位。现在我想通过引入一个框架来重建网站。框架改变的一件事是所有东西都通过index.php路由并且URL正在被重写。搜索引擎优化和页面地址的变化

目前子页面看起来就像这样(举例):

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

框架出台,他们将这个样子后:

mysite.com/homemysite.com/work

现在谁能告诉我将这个伤害/重置页面排名,如果是这样,我怎样才能使一个框架(Yii2)追加.php到控制器名称,并且这将是明智的...

+0

题外话 - 如何搜索引擎的排名将/显示你的网站是不是编程 – random

+1

我猜你只需要添加301重定向,在你的项目的htaccess的,所以旧的网址会“迁移“到新的网址而不会丢失。对不起,我找不到比http://www.webconfs.com/how-to-redirect-a-webpage.php(htaccess重定向) – Clyff

回答

0

这是可能的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

$后缀的公共财产使用时,在 '路径' 格式

的URL后缀。例如,可以使用“.html”,以便URL看起来像指向一个静态的HTML页面。该属性仅在$ enablePrettyUrl为true时使用。 公共字符串$后缀= NULL

+0

以外的其他资料的好来源谢谢,我不知道后缀选项,别名:...规则做到了。不知道为什么会有人downvote一个完美的答案!也许所有的正义力量都不会像一个“偏离主题”问题的答案。 – RandomWhiteTrash