簡體   English   中英

刪除Symfony2中的web / app.php

[英]Remove web/app.php in Symfony2

我的服務器具有以下目錄結構

/srv
   /www
      /site.com
         /symfonysite
         /Other Drupal hosted site files

當我訪問site.com我的drupal網站打開了,我希望能夠訪問site.com/symfonysite上的symfony網站而不是site.com/symfonysite/web/app.php

我在/symfonysite中創建了一個.htaccess文件,如下所示

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

但這只是擺脫了app.php部分,即site.com/symfonysite/web打開我的symfony網站,而site.com/symfonysite給出了No route found for "GET /symfonysite/"錯誤的No route found for "GET /symfonysite/"

我究竟做錯了什么?

它是symfony的優點,它是高度可配置的。 按照簡單的4個步驟,您可以實現您所需的目標:

  1. 創建一個目錄(比如項目)並將symfonysite的所有內容放在那里。 您可以將此目錄放在任何您喜歡的位置。 為簡單起見,我們將在symfonysite目錄中創建目錄。

  2. symfonysite / web的所有內容移至symfonysite

  3. 編輯app.php和/或app_dev.php以修改兩行,如下所示:

    $ loader = require_once __DIR __。'/ .. / app / bootstrap.php.cache';
    require_once __DIR __。'/ .. / app / AppKernel.php';

    $ loader = require_once __DIR __。'/ project / app / bootstrap.php.cache';
    require_once __DIR __。'/ project / app / AppKernel.php';

  4. 編輯composer.json文件以更新“symfony-web-dir”的值:“web”並將其更改為

    “symfony-web-dir”:“../”,

您修改的目錄結構可能如下所示:

/srv
   /www
      /site.com
         /symfonysite
              /project
         /Other Drupal hosted site files

注意:出於安全原因,symfony建議僅將Web目錄公開給Web可訪問路徑。 您可以將項目目錄放在任何您喜歡的位置。 只需根據您的位置更新路徑。 為了使這種設置更加安全,您可以將.htaccess文件放在項目目錄中

的.htaccess

拒絕所有人

請享用!!

您需要將/srv/www/site.com/symfonysite/web作為項目的文檔根目錄。 使用.htaccess無法完成此操作,因此您需要更改apache虛擬主機配置。 這通常位於/etc/apache2/sites-enabled/yourserver.com.conf

<VirtualHost *:80>
    ServerName yourserver.com
    DocumentRoot /srv/www/site.com/symfonysite/web
</VirtualHost>

我不確定機架空間網站是如何工作的,如果您無法更改這些設置,最好與他們一起打開支持服務單。 我領導他們有狂熱的支持:P

恕我直言的最佳方法是使用符號鏈接。 在site.com/web/content目錄中,您需要運行ln -s symfonysite/web sitesymfony 它將在您的web-root中創建指向/site.com/web/content/symfonysite/web文件夾的符號鏈接sitesymfony 然后您的site.com/sitesymfony將從site.com/symfonysite/web調用app.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM