【发布时间】:2012-04-11 14:46:41
【问题描述】:
我使用 CodeIgniter 制作了一种 CMS。它根据 URL 参数中传递的 slug 文本从数据库加载页面内容,例如关于、服务、联系方式。
在控制器代码中,我重新映射了索引方法以将 slug 作为参数传递给它,因为默认索引方法不允许参数。
在下面的链接中检查我的page 控制器的代码:
它的工作方式是,我已将page 控制器设置为默认加载。所以每次我这样打开我的网站时
它像这样加载控制器
如果我们将 slug 传递给它,它会从数据库中加载该 slug 的页面内容,就像这样
http://www.mysite.com/page/about http://www.mysite.com/page/portfolio
如果我们不通过 slug,它会加载主页。
现在我想做的是,我不希望这个“页面”文本出现在 URL 中。所以页面应该像这样打开
http://www.mysite.com/portfolio
我想这可以通过 URL 重写来实现。
我已经完成了从 URL 中删除 index.php 的 URL 重写,这通常适用于所有 Codeigniter 网站。下面是我的 .htaccess 文件的代码
RewriteEngine on
RewriteCond $1 !^(index\.php|uploads|fckeditor|assets|robots\.txt)
RewriteRule ^(.*)$ /jobsite/index.php/$1 [L]
现在的问题是,我怎样才能使 URL 像这样工作
http://www.mysite.com/portfolio
提前致谢。
【问题讨论】:
标签: php codeigniter url url-rewriting