从URL隐藏控制器和方法,但仅显示标题名称

时间:2017-02-08 08:08:18

标签: php codeigniter

我查看了建议的答案(stakoverflow说可能重复)。它提供了帮助但没有解决问题,因为它无法根据我的需要帮助创建干净的URL。它有控制器作为URL的一部分,我不想看到如下所述。

我正在Codeigniter中开发一个教程网站,并寻找一种生成SEO友好URL的方法,如

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

而不是

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

有人可以分享他的想法吗?谢谢

2 个答案:

答案 0 :(得分:1)

首先,您需要隐藏 index.php ,然后在根文件夹中创建 .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';

这将作为SEO友好的URL

答案 1 :(得分:0)

将此添加到您的根.htaccess文件:

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

然后在你的index.php中获取标题$ title = $ _GET [&#39; title&#39;]并随心所欲地做它,就像在你的数据库中查询并根据标题返回数据一样!