我正在使用ColdFusion 9.0.1。
我有一个新的网站,它使用Bikes.cfm和Makers.cfm作为模板页面。我需要能够将BikeID和MakerID与其他变量一起传递给这两个页面。我不想在URL中使用实际页面名称,例如:
MyDomain.com/Bikes.cfm?BikeID=1234&MakerID=1234
我希望我的网址看起来更像这样:
MyDomain.com/?BikeID=1234&MakerID=1234
我不需要在网址中指定网页名称。
我希望这两个网址能够访问不同的数据:
MyDomain.com/?BikeID=1234&MakerID=1234 // goes to bike page
MyDomain.com/?MakerID=1234&BikeID=1234 // goes to maker page
因此,如果在MakerID之前的URL中出现BikeID,请转到Bikes.cfm页面。如果MakerID出现在BikeID之前,请转到Makers.cfm页面。
是否有一种简单而现有的方法来安排URL密钥,使它们指向适当的页面?
我应该只是将URL解析为列表并确定第一个ID并转到相应的页面吗?还有更好的方法吗?
任何想法或提示或想法都将不胜感激。
更新 - 由于以下原因,使用网址中的参数顺序肯定是个坏主意:
1)许多程序将变量附加到URL
2)某些程序可能会对变量进行重新排序
3)GoogleBot可能不会认为订单相关,并且很可能不会正确索引网站。
感谢所有以积极的方式提供建议的人,我的方法可能是一个坏主意,不会产生我想要的结果。感谢所有提出替代方法以产生我想要的结果的人。
如果你们中的任何一位积极的人愿意将你们的积极评论/建议作为答案,我很乐意接受它作为答案。
答案 0 :(得分:1)
尽管我对整个想法表示严重的疑虑,但如果我被迫这样做,我会怎么做:
index.cfm:
<cfswitch expression="#ListFirst(cgi.query_string, '=')#">
<cfcase value="BikeID">
<cfinclude template="Bikes.cfm">
</cfcase>
<cfcase value="MakerID">
<cfinclude template="Makers.cfm">
</cfcase>
<cfdefaultcase>
<cfinclude template="Welcome.cfm">
</cfdefaultcase>
</cfswitch>