【问题标题】:symfony routing problems with index.phpindex.php 的 symfony 路由问题
【发布时间】:2009-11-04 22:26:07
【问题描述】:

我有一个用 symfony 构建的网站。

但是,我设置了一些路由规则:

resgister:
url:     /register
param:   { module: register, action: index }

我放了一个链接:

link_to('register - here','register')

但是这个链接指向http://www.mydomain.com/register 而不是http://www.mydomain.com/index.php/register

所以我收到 404 错误。

这个问题只发生在生产环境,而不是开发环境。

有什么想法吗?

谢谢!

【问题讨论】:

    标签: frameworks symfony1


    【解决方案1】:

    因为no_script_name 在生产环境中设置为“on”。

    【讨论】:

      【解决方案2】:

      您的 YML 文件中存在拼写错误:

      resgister:
        url:     /register
        param:   { module: register, action: index }
      

      应该是

      register:
        url:     /register
        param:   { module: register, action: index }
      

      用于:

      echo link_to('register - here','@register');
      

      这应该可以修复 404。no_script_name 是您看不到 index.php 的原因,如其他几个答案中所述。

      【讨论】:

        【解决方案3】:

        您必须在 /web/.htaccess 文件中取消注释此行 RewriteBase /

        # uncomment the following line, if you are having trouble
        # getting no_script_name to work
        #RewriteBase /
        

        这可能会有所帮助:)

        我假设你启用了 apache rewrite_module

        【讨论】:

        • 我以为他不想用no_script_name
        • 或者他可能只是想知道为什么他在没有 index.php 的情况下获取链接 - 你是对的,因为 no_script_name 设置但是 404 错误的原因是他可能有一个错误的 mod_rewrite 设置.否则 .htaccess 中的更改可以解决它。
        猜你喜欢
        • 2018-12-15
        • 2017-09-10
        • 2011-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多