2016-02-04 113 views

回答

1

最好的办法是在实例启动的Apache服务器中设置路由规则。

+0

谢谢!编辑Apaché的配置来设置'DirectoryIndex index.html'是很好的一点。我只有最后的希望,可以在Caché的某个地方设置它。 – ZitRo

1

具有RESTful应用程序,您需要命名你的WEB应用程序为“/”,并与调度类中的同名创建路由:

<Routes> 
    <Route Url="/" Method="GET" Call="Index"/> 
    ... 
</Routes> 

...然后实现指数方法,如你所愿。

如果是index.html文件 - 我相信有其他人知道解决方案。

1

如果你想用内部的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> 
+0

这是关于UrlMap中正则表达式的一个好处,谢谢!在我的情况下,'index.html'表示CSP子目录之一中的物理文件。 @joeb建议更改Apache设置以读取html索引文件 - 就是这样,想知道这是否是启用Caché中的HTML索引文件的唯一方法。 – ZitRo

+0

当你设置'CSP on'时,'DirectoryIndex'将被忽略,并且每个请求都将直接发送到Cache,而不做任何修改。在我的项目中,我使用这种方式,并从磁盘返回静态文件,但使用Cache而不是apache。您可以看到我的课程[示例](https://github.com/daimor/CacheBlocksExplorer/blob/master/Blocks%2FRouter.cls.xml)方法'GetStatic',它以开发模式从磁盘返回文件,并从'XData'中进行制作。 – DAiMor

+0

就是这样,但它仍然有必要查询'http:// example.com/index.html'而不是'http:// example.com'而不用像在GetStatic中那样以编程方式重新定义路径,它? – ZitRo

相关问题