2017-02-08 42 views
0

我查看了建議的答案(可能重複爲stakoverflow說)。它提供了幫助,但沒有解決問題,因爲它無法根據我的需要創建乾淨的URL。它具有控制器作爲URL的一部分,我不想看到如下所述。從URL中隱藏控制器和方法,但只顯示標題名稱

我開發的笨教程網站,並尋找一種方式來生成SEO友好的URL一樣

www.crdlabs.com/how-to-use-multidimensional-arrays

,而不是

www.crdlabs.com/home/index/how-to-use-multidimensional-arrays

任何人都可以分享他的想法嗎?謝謝

+1

調查URL重寫。首先搜索「漂亮網址」或類似內容。這是一個非常普遍的做法。不需要問這裏。 –

+0

嗨斯圖爾特。感謝你的信息。我在以前的應用程序中實現了重寫URL。自從我開始使用codeigniter以來,我有點不確定是否需要保留MVC體系結構的技巧。 – user7321290

+0

看看這個:http://stackoverflow.com/questions/17584883/pretty-urls-with-codeigniter –

回答

1

首先,你需要隱藏的index.php從URL,這樣創建的根文件夾中的.htaccess文件,並添加以下代碼

的.htaccess

DirectoryIndex index.php 
RewriteEngine on      
RewriteCond $1 !^(index\.php|(.*)\.swf|forums|images|css|downloads|js|robots\.txt|favicon\.ico) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ ./index.php?$1 [L,QSA] 

然後打開application/config/routes.php位置 中的routes.php文件,並添加此

$route['how-to-use-multidimensional-arrays'] = 'home/how-to-use-multidimensional-arrays'; 

這將作爲URL的工作搜索引擎友好的

+0

您的新網址與** www.crdlabs.com/how-to-use-multidimensional-arrays ** –

+0

感謝您的幫助。沒有index.php文件,但index()是控制器Home()的方法。在使用.htaccess文件詢問問題之前,我刪除了index.php。我希望你更接近提供完美的解決方案。您的路由必須在我的應用程序中創建的頁面上工作。但是這個「$ route ['how-to-use-multidimensional-arrays'] ='home/how-to-use-multidimensional-arrays';」似乎只適用於$ route []中的標題;我需要一個應該照顧所有路由的路由。如果您有任何建議,我們將不勝感激。 – user7321290

+1

你不能刪除index.php文件,它是如何加載應用程序... –

0

一下添加到烏爾根.htaccess文件:

RewriteRule ^(.*)$ index.php?title=$1 [NC,L,QSA] 

然後在烏拉圭回合的index.php拿到冠軍$標題= $ _GET [」標題']並做任何你喜歡的事情就像在你的數據庫中查詢並根據標題返回數據!

+1

更好的使用routes.php文件來管理此代替此方法.. –

+0

嗨Soheyl,我感謝你的親切的答案。我需要創建URL,例如www.crdlabs.com/how-to-use-multidimensional-array。我的應用程序有像www.crdlabs.com/controller/how-to-use-multidimensional-arrays這樣的URL。我需要在這裏刪除控制器部分。有任何建議嗎? – user7321290

+0

控制器總是一樣的嗎? @ user7321290 – Soheyl

相關問題