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