2010-08-24 37 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';