2010-08-24 39 views
0

如何删除codeIgniter中清洁URL的控制器/方法。清理URL在Codeigniter中搜索引擎优化

原始URL是低于

www.mydomain.com/controllers/method/variable 

,我想我的URL看起来像这样

www.mydomain.com/variable 

www.mydomain.com/friendly-url-description/5 

其中5是关键或表的ID,并friendly-url-description是值的描述。请帮助家伙。

+1

为什么你认为这将有更多好处的搜索引擎?没有证据表明这种微小的变化会影响搜索引擎的指标,足以帮助您在Google中获得更好的排名。但是,对用户来说这是一个好得多的改变,因为他们将看到的URL会更短并且更容易记住。 – 2010-08-24 08:15:19

回答

3

一种方法是修改文件/system/application/config/routes.php像例如:

<?php 
$route['friendly-url-description/(:any).html'] = 'controllers/method/$1'; 

http://codeigniter.com/user_guide/general/routing.html

+0

使用(:any)是一把双刃剑。使用正则表达式会更明智些。 – tpae 2010-08-25 17:22:05

+0

路线+1。 Routes.php可以是这样一个好朋友。 – StackOverflowed 2012-10-19 03:26:24

0

使用的.htaccess可以改写为任何你喜欢的网址。

http://corz.org/serv/tricks/htaccess2.php

Options +FollowSymlinks 
RewriteEngine on 

RewriteRule ^(\w+)& controllers/method/$1 

我没有测试过这一点,但它应使地址www.mypage.com/var referr到www.mypage.com/controllers/method/var

的简写“\ w”表示“任何字符或数字”,即az,AZ,0-9和下划线。 +表示“一次或多次”。查看正则表达式教程以了解更多信息。

祝你好运:)

+0

我试过了,但它不起作用。 我正在使用codeigniter框架。 这是原始链接。我想要这样的 www.mydomain.com/variable。 是这样的。 www.mydomain.com/clean-url-for-seo-in-codeigniter/id – Richard 2010-08-24 08:48:38

1

使用CodeIgniter Routing.

尝试使用正则表达式,为这一个:

www.mydomain.com/controllers/method/variable 

www.mydomain.com/variable 

尝试使用,如果只是字符串:

$route['(a-zA-Z)'] = 'controllers/method/$1'; 

此一个:

www.mydomain.com/friendly-url-description/5 

尝试使用:

$route['(a-zA-Z)/(0-9)'] = 'controllers/method/$1/$2';