2017-02-08 41 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

相关问题