# 默认路由规则 SD提供了一个默认路由NormalRoute,现在简单说下默认的URL规则。 ## 简单访问 举例说明: ``` http://localhost:8081/TestController/test ``` 第一步路由器将解析Url分离出TestController/test 第二步分离出TestController与test 第三步寻找TestController,大小写敏感,首先在app/Controllers目录下寻找TestController,找不到则Server/Controllers目录下寻找,如果还找不到则重定向到404。 >大小写敏感,Server目录是框架目录 第四步查看8081端口有没有设置前缀,将前缀与test拼接作为方法名,比如http_test,在控制器中寻找这个方法名,找到则执行,没有找到会执行控制器的defaultMethod方法。 ## 多级访问 举例说明: ``` http://localhost:8081/Action/TestController/test ``` 第一步路由器将解析Url分离出Action/TestController/test 第二步分离出Action/TestController与test 第三步寻找TestController,大小写敏感,首先在app/Controllers/Action目录下寻找TestController,找不到则Server/Controllers/Action目录下寻找,如果还找不到则重定向到404。 第四步查看8081端口有没有设置前缀,将前缀与test拼接作为方法名,比如http_test,在控制器中寻找这个方法名,找到则执行,没有找到会执行控制器的defaultMethod方法。 >可以更多分层url最后一个字段作为方法名 ## 默认方法 举例说明: ``` http://localhost:8081/TestController ``` 默认方法只支持单级访问,这里会寻找TestController控制器直接执行defaultMethod方法。 ## 静态文件 举例说明: ``` http://localhost:8081/Index.html ``` 寻找静态文件的逻辑是写在NormalHttpMiddleware中间件中,如果ports配置中去除这个中间件将不支持寻找静态文件。 判断逻辑如下: 1.看看是不是“/“,如果是则按照business配置中寻找主页 2.寻找后缀名,如果有则认为是静态文件 3.根据目录寻找文件,如果有将按照fileHeader配置中定义的头输出,如果没有则重定向到404 >http://localhost:8081 会通过business配置寻找主页