怎样用PHP程序实现URL的静态化

指点江山 发布于 2011/03/09 12:57
阅读 1K+
收藏 2
PHP

个人觉得OSCHINA的URL做得非常漂亮,想在php中实现类似OSCHINA的URL

实现方法有2种:

1: URL Rewrite, 这个不详述了.

2:程序实现. 一般实现方法, 写一个url的处理程序,每个php文件都包含了, 然后能实现类似URL: http://www.oschina.net/news.php/16160/tiobe-2011-03

或者:  http://www.oschina.net/news/archiver/?tid-11588.html

我想问的是, 怎样才能把链接中的.php去掉? 实现和红薯大哥一样的: http://www.oschina.net/news/16160/tiobe-2011-03

谢谢.

加载中
0
红薯
红薯

PHP 不懂啊,但oschina的实现方法已经开源了

http://www.oschina.net/code/snippet_12_2832

0
jobell
jobell

这个只能用rewite了。程序是无法实现的。php没有过滤器之类的东西。

0
指点江山
指点江山

之前我的做法是生成真正的html文件,

比如这种: http://www.oschina.net/news/16160/tiobe-2011-03.html地址,就真正的生成一个news,16160文件夹,tiobe-2011-03.html这样的文件... 但是这样应对大数据量,特别是一些重大更新, 服务器压力是相当大. 当然也有好处, 好处就是数据库访问量明显下降.

谁有更好的方法吗?

0
该用户已被和谐
该用户已被和谐

doophp这个框架里面有段很好的路由功能,传说速度也非常快。

0
指点江山
指点江山

引用来自#5楼“该用户已被和谐”的帖子

doophp这个框架里面有段很好的路由功能,传说速度也非常快。

谢谢,我去看看,研究一下

0
指点江山
指点江山

引用来自#5楼“该用户已被和谐”的帖子

doophp这个框架里面有段很好的路由功能,传说速度也非常快。

稍微看了一下,他们还是没有去掉中间的: index.php, 这个.php

但是他们的说明是可以去掉这个.php的. 还有待仔细看看.谢谢.

有其他办法的大侠,我恭候您的指点.

0
ValueError
ValueError

去掉中间的 index.php,用 Web 服务器的 UrlRewrite 可以实现,把所有“物理上不存在的文件”的请求全部重写到 index.php。比如 Apache、IIS、Lighttp 都可以在配置文件写重写规则的,nginx 甚至还能简单的用 try_files 实现。

谷歌一下“<服务器名> UrlRewrite <ZF、Yii 等任意一款使用FrontController的框架的名字>”

0
胖猫
胖猫

就是RESTFul吧,前几天试用了一下JBoss的RESTEasy

用annotation就搞定了,CRUD操作都非常方便

这种方式参数就在路径中

0
BossKiller
BossKiller

生成静态文件,涉及到模版引擎同步更新方面的问题,我也在学习这方面的设计。同问。

0
指点江山
指点江山

引用来自#10楼“张敏峰”的帖子

生成静态文件,涉及到模版引擎同步更新方面的问题,我也在学习这方面的设计。同问。

这个我实现过, 不同的页面,调用不同的模板. 如果模板更新了,使用该模板的文件都同时更新(如果数量大,服务器表示压力很大)

返回顶部
顶部