在CI框架中如何实现伪静态
Posted kenshinobiy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在CI框架中如何实现伪静态相关的知识,希望对你有一定的参考价值。
第一步:在根目录下(index.PHP)同一级目录下建立一个.htaccess这个文件文件内容(即红色标识所显示的内容)
移除 URL 中的 index.php
默认情况,你的 URL 中会包含 index.php 文件:
example.com/index.php/news/article/my_article
如果你的 Apache 服务器启用了 mod_rewrite ,你可以简单的通过一个 .htaccess 文件再加上一些简单的规则就可以移除 index.php 了。下面是这个文件的一个例子, 其中使用了 "否定条件" 来排除某些不需要重定向的项目:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
第二步:
在config/config.php/中修改URL后缀(即绿色所代表的内容)
添加 URL 后缀($config[‘url_suffix‘] = ‘.html‘;)
在你的 config/config.php 文件中你可以指定一个后缀,CodeIgniter 生成 URL 时会自动添加上它。例如,一个像这样的 URL:
example.com/index.php/products/view/shoes
你可以添加一个后缀,如:.html ,这样页面看起来就是这个样子:
example.com/index.php/products/view/shoes.html
第三步:
在config/routes.php中修改配置且添加正则匹配
$route[‘default_controller‘] = ‘welcome‘;
$route[‘404_override‘] = ‘‘;
$route[‘translate_uri_dashes‘] = FALSE;
$route[‘welcome/lists_(:num)_(:num)‘] = ‘welcome/lists/$1/$2‘;
具体案例:
- public function lists($page,$search){
- echo $page;
- echo "</br>";
- echo $search;
- }
http://localhost/two_exam/welcome/lists_13126726903_15135374298.html
案例效果如下:
13126726903
15135374298
以上是关于在CI框架中如何实现伪静态的主要内容,如果未能解决你的问题,请参考以下文章
PHP环境里的伪静态页面中,如何将JS变量传给其它变量的参数?