Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iis coldfusion中的SES url-无MVC_Iis_Url_Coldfusion_Url Rewriting - Fatal编程技术网

Iis coldfusion中的SES url-无MVC

Iis coldfusion中的SES url-无MVC,iis,url,coldfusion,url-rewriting,Iis,Url,Coldfusion,Url Rewriting,找到这个网址了吗 通过从数据库获取用户详细信息来加载用户的配置文件 WHERE userid = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#url.userid#"> 其中userid= 如何像这样访问相同的配置文件: 用户不必键入“users.cfm?userid=John”,他们只需键入想要查看的人的用户id即可 关于CF9,IIS7 我可能需要安装解决方案,请提供建议 感谢您的帮助。使用URLEWRITE,让重写器

找到这个网址了吗

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

WHERE userid = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#url.userid#">
其中userid=
如何像这样访问相同的配置文件:

用户不必键入“users.cfm?userid=John”,他们只需键入想要查看的人的用户id即可

关于CF9,IIS7

我可能需要安装解决方案,请提供建议


感谢您的帮助。

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

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

马上,也许您可以在Application.cfc中使用OnRequest方法。该方法允许您过滤请求并对其进行特殊处理

在您的示例中,您可以使用“John”或任何字符串(如果其根存在),然后

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


如果您在OnApplicationStart.

中立即定义baseHREF,那么您可能可以在Application.cfc中使用OnRequest方法。该方法允许您过滤请求并对其进行特殊处理

在您的示例中,您可以使用“John”或任何字符串(如果其根存在),然后

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


如果您在OnApplicationStart中定义baseHREF。

如果您决定使用类似ISAPI重写(非免费)的工具,该工具允许您编写与Apache中使用的重写规则类似的重写规则,您应该添加:

RewriteRule ^(.*)$ /users.cfm?userid=$1 [NC,L,QSA]
您还可以通过以下方式将文件夹或其他URL添加到此规则中的排除

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

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

如果您决定使用ISAPI rewrite(非免费)这样的工具,它允许您编写类似于Apache中使用的重写规则,您应该添加:

RewriteRule ^(.*)$ /users.cfm?userid=$1 [NC,L,QSA]
您还可以通过以下方式将文件夹或其他URL添加到此规则中的排除

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

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

要使用非.cfm扩展,您需要配置web服务器,让CF处理这些扩展(例如.html),我不相信这会处理类似文件夹的请求(即
/folder
)。这一点很好。我没有意识到ColdFusion是以这种方式受到限制的。。。bummer.要使用非.cfm扩展,您需要配置web服务器,让CF处理这些扩展(例如.html),我不相信这会处理类似文件夹的请求(例如
/folder
)。这一点很好。我没有意识到ColdFusion是以这种方式受到限制的。。。如果您喜欢使用OnRequest或OnMissingTemplate,您可以使用URLRewite将/index.cfm附加到仅目录请求。不确定[dis]的优点是什么。谢谢,我们将对此进行调查。如果您喜欢使用OnRequest或OnMissingTemplate,您可以使用URLRewrite将/index.cfm附加到仅目录请求。我不知道有什么好处。谢谢,我会调查的。