如何删除Symfony2根域路由的尾部斜杠

如何删除Symfony2根域路由的尾部斜杠,symfony,mod-rewrite,Symfony,Mod Rewrite,我发现了很多关于如何处理路线尾部斜杠的信息,如: http://app1.local/activity/ http://app1.local/reports/ 从Symfony2内部,但没有关于如何处理根节点的信息: http://app1.local/ 如果我选择了@Route(“,name=“珍宝”\u forge\u home\u overview”)它可以工作,但仍然添加了尾随“/” 我知道路由器必须要有“/”才能工作,但我也不相信它对你们大家都很好,而且没有解决办法。默认的mod_重写

我发现了很多关于如何处理路线尾部斜杠的信息,如:

http://app1.local/activity/

http://app1.local/reports/

从Symfony2内部,但没有关于如何处理根节点的信息:

http://app1.local/

如果我选择了
@Route(“,name=“珍宝”\u forge\u home\u overview”)
它可以工作,但仍然添加了尾随“/”

我知道路由器必须要有“/”才能工作,但我也不相信它对你们大家都很好,而且没有解决办法。默认的mod_重写规则是否添加了它?我不太擅长重写规则

我更喜欢内部Symfony2解决方案,而不是mod_-rewite解决方案,但我必须选择任何一种

非常感谢

p.S.Symfony 2.4.1

来自current routing.yml的示例:

treasure_forge_core:
    resource: "@TreasureForgeCoreBundle/Controller"
    type: annotation
    prefix: /
在我的CoreController中:

/**
 * @Route("/", name="treasure_forge_home_overview")
 *
 * @return Response
 */
public function overviewAction(){}

.htaccess的内容:

DirectoryIndex app.php

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>
DirectoryIndex app.php
重新启动发动机
RewriteCond%{REQUEST_URI}:$1^(/.+)/(.*):\2$
重写规则^(.*)-[E=基:%1]
RewriteCond%{ENV:REDIRECT_STATUS}^$
重写规则^app\.php(/(.*)|$)%{ENV:BASE}/$2[R=301,L]
RewriteCond%{REQUEST_FILENAME}-f
重写规则[L]
重写规则.?%{ENV:BASE}/app.php[L]
重定向匹配302^/$/app.php/

我经常在路线注释中保留尾随斜杠,然后我的路线只在没有尾随斜杠的情况下工作。你可能在
routing.yml中放了一个吗?你是对的,我在routing.yml中有一个指向注释路由的指针,前缀为
前缀为:/
,但当我尝试
前缀为:
前缀为:“
时,它没有效果。我的印象是默认的重写规则添加了它。我想知道如何改变这一点……您在哪里指定了
/activity/
/reports/
?请更新您的问题,显示
routing.yml
和控制器的输出(或完整控制器,取决于相关性)至少有一个操作和类声明?那里的
类CoreController
任何
@Route
注释如何?
DirectoryIndex app.php

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>