既能动态浏览,又能静态浏览如何实现呢?可能没明白意思吧,进来看。

时间:2021-11-18 19:29:41
我想将网页静态化,不是使用伪静态。
把default.aspx,生成default.html

如果管理员输入default.aspx,那么里面的新闻链接就是news.aspx?id=12210
如果网友输入的是default.html,那么里面的新闻链接就是:/2010/08/04/12210.html

即,既能动态浏览,又能静态浏览。许多cms都有这种功能,可能我理解的有问题,谁能告诉我一般的cms是如何实现类似功能的?

14 个解决方案

#1


一般cms是生成静态文件的 后台当然用动态的

#2


news.aspx?id=12210,根据id=12210查询数据库相关信息,主要是时间,于是按规则得到静态页的地址2010/08/04/12210.html

#3


倒是有点像地址重写

#4


asp.net mvc的路由
重写地址
如context.RewritePath

#5


引用 1 楼 roy99 的回复:
一般cms是生成静态文件的 后台当然用动态的

说的有理。
default.html应该是根据default.aspx生成的,为什么里面的链接会变呢?是里面的链接(指default.aspx生成的html代码)会变,由news.aspx?id=12210变成/2010/08/04/12210.html。

不是问静态化方法,是问为什么内容会变?

#6


使用的就是你所谓的不能使用的伪静态。

#7


引用 6 楼 hellko 的回复:
使用的就是你所谓的不能使用的伪静态。

目前我用的就是伪静态,可惜这样要占用好多cpu,想真正静态化,可是这样又不好管理文件,

如何既静态化,又让编辑看不出来呢?就是自动静态化。

#8


编辑  提交修改的 时候出触发静态方法 不完了么?

#9


我曾经做过这样的项目,很简单,动态的文件全部要有,和一般的做法一样就行,
后台专门有发布的栏目,首页和栏目页,内容页全部发布成.html的。链接当然是:/2010/08/04/12210.html,这种格式,

后台有个设置,是设置静态还是动态,

然后首页判断一下是静态还是动态,静态则链接default.html.
动态则链接default.aspx.

----------------------------------------------------------------

科讯的cms就是这种做法。

#10


但是我以前看的是asp版本的科讯的cms,好像还没有.net 版本的吧,不过思路是一样的。

#11


引用 9 楼  的回复:
我曾经做过这样的项目,很简单,动态的文件全部要有,和一般的做法一样就行,
后台专门有发布的栏目,首页和栏目页,内容页全部发布成.html的。链接当然是:/2010/08/04/12210.html,这种格式,

后台有个设置,是设置静态还是动态,

然后首页判断一下是静态还是动态,静态则链接default.html.
动态则链接default.aspx.

------------……
你的说法比较符合我的要求

#12


那就是伪静态

URL地址重写

#13


个人不认为网友会自己输入页面名称。。。

#14


引用 9 楼  的回复:
我曾经做过这样的项目,很简单,动态的文件全部要有,和一般的做法一样就行,
后台专门有发布的栏目,首页和栏目页,内容页全部发布成.html的。链接当然是:/2010/08/04/12210.html,这种格式,

后台有个设置,是设置静态还是动态,

然后首页判断一下是静态还是动态,静态则链接default.html.
动态则链接default.aspx.

-----------……


#1


一般cms是生成静态文件的 后台当然用动态的

#2


news.aspx?id=12210,根据id=12210查询数据库相关信息,主要是时间,于是按规则得到静态页的地址2010/08/04/12210.html

#3


倒是有点像地址重写

#4


asp.net mvc的路由
重写地址
如context.RewritePath

#5


引用 1 楼 roy99 的回复:
一般cms是生成静态文件的 后台当然用动态的

说的有理。
default.html应该是根据default.aspx生成的,为什么里面的链接会变呢?是里面的链接(指default.aspx生成的html代码)会变,由news.aspx?id=12210变成/2010/08/04/12210.html。

不是问静态化方法,是问为什么内容会变?

#6


使用的就是你所谓的不能使用的伪静态。

#7


引用 6 楼 hellko 的回复:
使用的就是你所谓的不能使用的伪静态。

目前我用的就是伪静态,可惜这样要占用好多cpu,想真正静态化,可是这样又不好管理文件,

如何既静态化,又让编辑看不出来呢?就是自动静态化。

#8


编辑  提交修改的 时候出触发静态方法 不完了么?

#9


我曾经做过这样的项目,很简单,动态的文件全部要有,和一般的做法一样就行,
后台专门有发布的栏目,首页和栏目页,内容页全部发布成.html的。链接当然是:/2010/08/04/12210.html,这种格式,

后台有个设置,是设置静态还是动态,

然后首页判断一下是静态还是动态,静态则链接default.html.
动态则链接default.aspx.

----------------------------------------------------------------

科讯的cms就是这种做法。

#10


但是我以前看的是asp版本的科讯的cms,好像还没有.net 版本的吧,不过思路是一样的。

#11


引用 9 楼  的回复:
我曾经做过这样的项目,很简单,动态的文件全部要有,和一般的做法一样就行,
后台专门有发布的栏目,首页和栏目页,内容页全部发布成.html的。链接当然是:/2010/08/04/12210.html,这种格式,

后台有个设置,是设置静态还是动态,

然后首页判断一下是静态还是动态,静态则链接default.html.
动态则链接default.aspx.

------------……
你的说法比较符合我的要求

#12


那就是伪静态

URL地址重写

#13


个人不认为网友会自己输入页面名称。。。

#14


引用 9 楼  的回复:
我曾经做过这样的项目,很简单,动态的文件全部要有,和一般的做法一样就行,
后台专门有发布的栏目,首页和栏目页,内容页全部发布成.html的。链接当然是:/2010/08/04/12210.html,这种格式,

后台有个设置,是设置静态还是动态,

然后首页判断一下是静态还是动态,静态则链接default.html.
动态则链接default.aspx.

-----------……