之前一個網(wǎng)友說能不能達(dá)到這樣的效果,www.olcms.com/news/id.html我當(dāng)時說不能叮喳,后來想了想是可以的,今天試了試缰贝,已經(jīng)實現(xiàn)馍悟,把步驟整理如下:
- 在tp的配置文件中開啟偽靜態(tài)和路由如下
<?php
return array(
//'配置項'=>'配置值'
//url訪問模式為rewrite模式
'URL_MODEL'=>'2',
//開啟偽靜態(tài)
'URL_HTML_SUFFIX' =>'.html',
//開啟路由
'URL_ROUTER_ON' =>true,
//路由規(guī)則
'URL_ROUTE_RULES'=>array(
'news/:id' => 'Home/News/read',
),
);
?>
此處再結(jié)合我另一篇文章,修改下U函數(shù)揩瞪,這樣在頁面使用U生成鏈接就自動生效路由規(guī)則了
http://www.reibang.com/p/394b04a97af9
- 其實現(xiàn)在已經(jīng)實現(xiàn)偽靜態(tài)和路由了赋朦,當(dāng)前訪問 www.olcms.com/index.php/news/1.html 等于訪問 www.olcms.com/index.php/Home/News/read/id/1.html 當(dāng)然我們還少一步,沒有去掉index.php,現(xiàn)在說說apache怎么去index.php,
1)開啟Apache rewrite moudle宠哄,然后重啟apache
2)建立.htaccess文件(windows用另存為方式)壹将,內(nèi)容如下
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [L]
nginx配置
在nginx站點配置,在Nginx低版本中毛嫉,是不支持PATHINFO的诽俯,但是可以通過在Nginx.conf中配置轉(zhuǎn)發(fā)規(guī)則實現(xiàn)(針對與這點,我遇到綁定模塊出現(xiàn)的問題承粤,遇到前臺正常后臺404的暴区,看http://www.reibang.com/p/299a3ab5a7cc):
location / { // …..省略部分代碼
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
大功告成,現(xiàn)在就可以 www.olcms.com/news/1.html 等于訪問原來的www.olcms.com/index.php/Home/News/read/1.html