SES网址在Coldfusion中

得到这个网址

HTTP://本地主机:8500 / users.cfm用户ID =约翰

通过从数据库获取用户详细信息来加载用户的配置文件

WHERE userid = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#url.userid#">

怎样才能像这样访问相同的配置文件:

HTTP://本地主机:8500 /约翰·

用户不必输入“users.cfm?userid = John”,他们只需输入他们想查看的人员的用户标识即可。

在CF9上,IIS7

我可能需要安装http://www.iis.net/download/urlrewrite解决方案,请咨询。

感谢你的帮助。


使用URLRewrite,让重写器将所请求的URL(例如/John )设置为请求头并将其转发给单个.cfm文件(即前端控制器)。 在.cfm文件(例如frontcontroller.cfm)中读出请求头(即GetHttpRequestData().headers ),并相应地处理 - > users.cfm?userid=john


副手,也许你可以使用Application.cfc中的OnRequest方法。 该方法允许您过滤请求并给予特殊处理。

http://www.bennadel.com/blog/805-ColdFusion-Application-cfc-OnRequest-Creates-A-Component-Mixin.htm

在你的例子中,你可以带上“John”,或者任何字符串,如果它存在于根,和

<cfinclude template="#application.baseHREF#/users.cfm?userid=#userID#" />

如果您在OnApplicationStart中定义baseHREF。


如果您决定使用类似于Apache中使用的类似ISAPI重写(不是免费)的工具,您可以添加:

RewriteRule ^(.*)$ /users.cfm?userid=$1 [NC,L,QSA]

您还可以添加文件夹或其他网址以从此规则中排除类似以下内容:

RewriteCond %{REQUEST_URI} !^(assets|images|xml|tasks) [NC]
RewriteRule ^_admin/(.*)$ /_admin/index.cfm/$1 [NC,L,QSA]

我建议使用重写规则来处理它在CFML中的处理,以减少CF服务器处理的处理。

链接地址: http://www.djcxy.com/p/31207.html

上一篇: SES url in coldfusion

下一篇: Is an HTTPS query string secure?