【问题标题】:Getting your assets to connect through the firewall, Silex让您的资产通过防火墙连接,Silex
【发布时间】:2015-12-21 23:00:29
【问题描述】:

我获得了用户身份验证来处理我正在处理的一个小项目。但是,防火墙后面的所有页面都无法访问我的资产文件夹。所以它没有 CSS,也不会获取该文件树中的图像。

$app->register(new Silex\Provider\SecurityServiceProvider(), array(
$app['security.firewalls'] = array(
    'user' => array(
        'pattern' => '^/user',
        'form' => array(
            'login_path' => '/',
            'check_path' => '/user/login_check',
            'default_target_path' => '/user/user_area',
            'always_use_default_target_path' => true
        ),
        'users' => array(
            'user' => array('ROLE_ADMIN', '5FZ2Z8QIkA7UTZ4BYkoC+GsReLf569mSKDsfods6LYQ8t+a8EW9oaircfMpmaLbPBh4FOBiiFyLfuZmTSUwzZg=='),
        ),
    ),
),

));

还有一个我在树枝中的 css 文件示例

<link href="assets/css/bootstrap.css" rel="stylesheet">
<!--external css-->
<link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" />

<!-- Custom styles for this template -->
<link href="assets/css/style.css" rel="stylesheet">
<link href="assets/css/style-responsive.css" rel="stylesheet">
<link href="assets/css/scout-styles.css">

还有我的 .htaccess

<IfModule mod_rewrite.c>
Options -MultiViews

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

【问题讨论】:

  • 我注意到资产现在路由为 &lt;link href="user/assets/css/bootstrap.css" rel="stylesheet"&gt; 尝试制作一个用户文件来放入我的资产,但随后扰乱了路由。
  • 您可以发布您的 .htaccess 文件(或您的重定向规则)吗?
  • 这就是我所拥有的,我需要了解更多关于.htaccess的信息&lt;IfModule mod_rewrite.c&gt; Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [QSA,L] &lt;/IfModule&gt;
  • 我认为您只需要以 / 字符开始您的资产,您尝试过吗?
  • 成功了!谢谢!我想知道为什么会这样。

标签: php css assets firewall silex


【解决方案1】:

让我们关闭这个。

似乎问题出在资产的 URI 路径中,它们只需要以 / 字符开头,以使该路径成为站点的绝对路径,而不是当前 URI 路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    相关资源
    最近更新 更多