如何使用Apache路由器吗
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.0,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
如何使用Apache路由器吗
ob娱乐下载Symfony2,开箱即用的快,还提供了各种方法来增加,速度一点调整。其中一个方法是通过让apache处理直接路线,而不是使用Symfony2这个任务。ob娱乐下载
改变路由器的配置参数
将Apache路线必须首先调整告诉Symfony2使用一些配置参数ob娱乐下载ApacheUrlMatcher
而不是默认的一个:
- YAML
- XML
- PHP
1 2 3 4
# app / config / config_prod.yml参数:router.options.matcher.cache_class:~#禁用路由器缓存router.options.matcher_class:ob娱乐下载Symfony \组件\ \匹配器\ ApacheUrlMatcher路由
提示
请注意,ApacheUrlMatcher扩展UrlMatcher所以即使你不再生url_rewrite规则,一切都将结束时(因为工作ApacheUrlMatcher::匹配()
调用父::匹配()
完成)。
生成mod_rewrite规则
测试的工作,让我们创建一个非常基本的演示包的路线:
- YAML
- XML
- PHP
1 2 3 4
# app / config / routing.yml你好:模式:/ hello /{名称}默认值:{_controller:AcmeDemoBundle:演示:你好}
现在生成url_rewrite规则:
1
php应用程序/控制台路由器:美元dump-apache - e =刺激——没有调试
输出应该大致如下:
1 2 3 4 5 6 7
#跳过“真实”的请求RewriteCond% {REQUEST_FILENAME}- fRewriteRule* -(QSA L)#你好RewriteCond% {REQUEST_URI}^ / hello /([^ /] + ?)美元RewriteRule. * app.php[QSA L E = _ROUTING__route:你好,E = _ROUTING_name: % 1, E = _ROUTING__controller: AcmeDemoBundle \:演示\:你好)
现在,您可以重写的web /。htaccess的使用新规则,所以这个例子应该是这个样子:
1 2 3 4 5 6 7 8 9 10 11
< IfModule mod_rewrite.c >RewriteEngine在#跳过“真实”的请求RewriteCond% {REQUEST_FILENAME}- fRewriteRule* -(QSA L)#你好RewriteCond% {REQUEST_URI}^ / hello /([^ /] + ?)美元RewriteRule. * app.php[QSA L E = _ROUTING__route:你好,E = _ROUTING_name: % 1, E = _ROUTING__controller: AcmeDemoBundle \:演示\:你好)< / IfModule >
请注意
程序上面应该每次添加/更改路线,如果你想充分利用这个设置
就是这样!你现在将使用Apache路由规则。
额外的调整
为了节省一点处理时间,出现的变化请求
来ApacheRequest
在web / app.php
:
1 2 3 4 5 6 7 8 9 10 11 12
/ /网络/ app.phprequire_once__DIR__。“/ . . / app / bootstrap.php.cache”;require_once__DIR__。“/ . . / app / AppKernel.php”;/ / require_once __DIR__。“/ . . / app / AppCache.php”;使用ob娱乐下载\组件\HttpFoundation\ApacheRequest;美元内核=新AppKernel (“刺激”,假);美元内核- >loadClassCache ();/ /内核= new AppCache美元($内核);美元内核- >处理(ApacheRequest::createFromGlobals ())- >send ();
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。