【问题标题】:Symfony can't find assets prefixed with web/ on localSymfony 在本地找不到以 web/ 为前缀的资产
【发布时间】:2016-01-18 17:30:13
【问题描述】:

我正在通过 Mamp 运行最新版本的 Symfony。我的代码库中有一些以 /web/ 为前缀的图像资产。当我转到我的本地 url (u.local) 时,Symfony 似乎无法将它们拉起来。

一个示例图像资产 url 将是(相对路径):/web/productEditor/image.png

<directory> 的附加参数下的 mamp 我有:

   <IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
   </IfModule>

我无法将本地代码更改为仅删除 img src 标记的 /web/ 部分。有没有办法将 .htaccess 配置为忽略 url 的“/web/”部分?

我可以通过 mamp 以不同的方式配置 Symfony 吗?

目录结构:

 Web Root
  -Web Folder
   --App.php (what boots up symfony)
   --productEditor
    ---Assets

谢谢。

【问题讨论】:

    标签: image .htaccess symfony mamp


    【解决方案1】:

    您的问题并没有告诉我您的应用期望图像在哪里。如果它在/productEditor/image.png 而不是/web/productEditor/image.png 中寻找它们,那么以下内容可能会解决您的问题。 (但我没有测试过)

    RewriteCond %{REQUEST_URI} ^/web/
    RewriteRule ^web/(.*)$ /$1 [QSA,L]
    

    有了上面列出的完整的 .htaccess 块就可以了。

    <IfModule mod_rewrite.c>
        Options -MultiViews
        RewriteEngine On
        RewriteCond %{REQUEST_URI} ^/web/
        RewriteRule ^web/(.*)$ /$1 [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ app.php [QSA,L]
    </IfModule>
    

    -内森

    【讨论】:

    • 对不起,我希望图像在“/web/”文件夹中,但是如果 img src 请求它,则找不到 web 文件夹。
    • np,只是有点难以想象。您能否列出您的目录结构,以便我们可以看到web 与应用程序根目录相关的位置。
    • 在问题中添加。
    • 更新了我回答中的重写条件/规则。该规则可能需要根据您的本地环境进行调整。如果它不起作用,请告诉我。
    猜你喜欢
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 2013-10-09
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多