Symfony 3 / FOSJsRoutingBundle:不允许访问router.js

问题描述 投票:0回答:1

我正在尝试在托管服务器上安装Symfony 3.1.4项目。它在我的本地机器上完美运行,但不在外部机器上运行。

对于JS路由,我使用FOSJsRoutingBundle,版本^1.6

问题:

当我访问http://mydomain.tld时,浏览器尝试加载http://mydomain.tld/bundles/fosjsrouting/js/router.js,但不允许:403 Forbidden

据我所知,该文件存在,但我不允许加载它。

解决方法:

  • php bin/console cache:clear --env=prod
  • php bin/console fos:js-routing:dump
  • php bin/console assets:install --symlink web
  • chmod for web/bundles/*:755

没有任何效果。

它可能与符号链接有关吗?我有点失落了。有任何想法吗?

提前致谢!

编辑1:security.yml

security:
    providers:
        in_memory:
            memory: ~
        fos_userbundle:
            id: fos_user.user_provider.username

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        main:
            remember_me:
                secret:   '%secret%'
                lifetime: 604800 
                path:     /
            pattern: ^/
            form_login:
                provider: fos_userbundle                  
                login_path: fos_user_security_login
                check_path: fos_user_security_check
                csrf_token_generator: security.csrf.token_manager

            logout:
                path: fos_user_security_logout
                target: index
            anonymous: true
    encoders:
        FOS\UserBundle\Model\UserInterface: bcrypt

    role_hierarchy:
        ROLE_ADMIN: ROLE_USER

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: /admin/, role: ROLE_ADMIN }
        - { path: /dashboard, role: ROLE_USER }
php linux symfony server symfony-3.1
1个回答
1
投票

我最近有这个问题,这对我在Symfony 3.4中有用:

config.yml中,您需要将一个包添加到资产配置中,并将base_path设置为/bundles。这使得路由公开,并且应该允许您从安装的任何捆绑中提取任何资产文件。当然,如果您愿意,可以在每个包中添加一个包。

config.yml

framework:
    assets:
        packages:
            bundles:
                base_path: '/bundles'
© www.soinside.com 2019 - 2024. All rights reserved.