设置REST应用程序或使index.html
文件在CSP Files
目录下显示应用程序,甚至可以将此WEB应用程序设置为服务器的默认应用程序?如何在Caché中设置默认(root,/,index)WEB应用程序?
换句话说,如何通过查询http://localhost
而不是http://localhost/AppName/
或http://localhost/index.html
来显示应用程序?
设置REST应用程序或使index.html
文件在CSP Files
目录下显示应用程序,甚至可以将此WEB应用程序设置为服务器的默认应用程序?如何在Caché中设置默认(root,/,index)WEB应用程序?
换句话说,如何通过查询http://localhost
而不是http://localhost/AppName/
或http://localhost/index.html
来显示应用程序?
最好的办法是在实例启动的Apache服务器中设置路由规则。
具有RESTful应用程序,您需要命名你的WEB应用程序为“/”,并与调度类中的同名创建路由:
<Routes>
<Route Url="/" Method="GET" Call="Index"/>
...
</Routes>
...然后实现指数方法,如你所愿。
如果是index.html
文件 - 我相信有其他人知道解决方案。
如果你想用内部的Apache来实现它,你只需要在Caché中创建root WebApplication。以及我相信你已经做过像/AppName/
之前,只需创建名称/
。
如果你想用外部Apache来做,那么我希望你已经有properly配置好了。正是你需要的话,加入这样的行
<Location />
CSP on
SetHandler csp-handler-sa
</Location>
在你休息的类,你必须已经知道,路线图使用正则表达式来得到正确的方法。所以,在路线图中你可以改变它
<Routes>
<Route Url="/(index\.html)?" Method="GET" Call="Index"/>
<!-- or something like this, to catch all static for one method -->
<Route Url="/((?!rest/).*)" Method="GET" Call="GetStatic"/>
...
</Routes>
这是关于UrlMap中正则表达式的一个好处,谢谢!在我的情况下,'index.html'表示CSP子目录之一中的物理文件。 @joeb建议更改Apache设置以读取html索引文件 - 就是这样,想知道这是否是启用Caché中的HTML索引文件的唯一方法。 – ZitRo
当你设置'CSP on'时,'DirectoryIndex'将被忽略,并且每个请求都将直接发送到Cache,而不做任何修改。在我的项目中,我使用这种方式,并从磁盘返回静态文件,但使用Cache而不是apache。您可以看到我的课程[示例](https://github.com/daimor/CacheBlocksExplorer/blob/master/Blocks%2FRouter.cls.xml)方法'GetStatic',它以开发模式从磁盘返回文件,并从'XData'中进行制作。 – DAiMor
就是这样,但它仍然有必要查询'http:// example.com/index.html'而不是'http:// example.com'而不用像在GetStatic中那样以编程方式重新定义路径,它? – ZitRo
谢谢!编辑Apaché的配置来设置'DirectoryIndex index.html'是很好的一点。我只有最后的希望,可以在Caché的某个地方设置它。 – ZitRo