ColdFusion / Mod_Rewrite / Taffy:带有查询字符串的友好URL

时间:2013-10-31 01:44:18

标签: apache mod-rewrite coldfusion railo taffy

我有点像一个新手 - 让我们先解决这个问题!我正在尝试在我的铁路实例上设置一个REST“框架”“taffy”,我不能为我的生活让这个重写工作。我用Coldfusion / IIS 7设置得很好,但是我无法在apache中复制结果。

基本上,框架依赖于获取这样的请求:

/api/index.cfm?endpoint=/resource

那很好,但显然不是RESTful。他们在“太妃糖”的文档中说,如果没有任何额外的规则,你应该能够简单地称之为“/api/index.cfm/resource”,但我从未有过那样的工作。无论如何,我希望你能够在URL栏中输入“/ api / resource”并让它正常工作,而不会将URL改回丑陋的“/api/index.cfm?endpoint=/resource”。

以下是我的重写规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule api/(.*)$ /api/index.cfm?endpoint=/$1 [QSA,L]

查看日志,这是将URL正确地重写为“/api/index.cfm?endpoint=/resource”。然后,它中断了“?endpoint = / resource”,决定它不喜欢它,并简单地重定向到“/api/index.cfm”......它什么都不做。

现在,据我所知,apache正在获取查询字符串并将其隐藏在cgi QUERY_STRING变量中。 Railo需要从URL范围中获取“端点”变量,而不是CGI范围。

有什么方法可以完成我在这里要做的事情吗?顺便说一下,如果我按照我的建议添加R或R = 301标签,我只是放入一个无限重定向循环,我也无法解释。在这一点上,我几乎对一个普通的旧重定向很满意,但我无法摆脱循环。我在做什么!!?

0 个答案:

没有答案