0

Symfony webapp があり、それが webroot のサブフォルダーにあるとしましょう

path/to/root/<subfolder>/Symfony/

したがって、自分のページを呼び出したい場合は、入力する必要があります

http://host.tld/<subfolder>/Symfony/web

でもご想像のとおり、みんなに電話してもらいたいです

http://www.host.tld/

Web サーバーの設定を使用できることはわかっています (たとえば、ルート ディレクトリの定義、エイリアスの設定など)。したがって、私は2つの質問を導き出します:

  1. これが作成されるすべてのリンクのベースであることを Symfony に伝えるにはどうすればよいですか? と

  2. Symfony は、Web サーバーの構成を変更せずにセットアップできるネイティブ機能または構成を提供しますか?

4

2 に答える 2

4

専用サーバー :

専用の debian サーバー (apache を使用) を使用している場合は、おそらく vhost とは何かを知っているでしょう。

ユーザーをカプセル化するには、Vhost を作成し、ドメインを Symfony プロジェクトの web フォルダーにポイントする必要があります。

nano /etc/apache2/sites-enabled/host.tld :

<VirtualHost *:80>
    ServerName host.tld
    DocumentRoot /home/sybio/www/mywebsite/Symfony/web

    <Directory "/home/sybio/www/mywebsite/Symfony/web">
        DirectoryIndex app.php
        Options -Indexes FollowSymLinks SymLinksifOwnerMatch
        AllowOverride All
        Allow from All
    </Directory>
</VirtualHost>

次に、Apache 構成をテストします。

apache2ctl configtest

エラーがない場合は再起動します:

apache2ctl restart

それでおしまい !

共有ホスティング :

OVH などの多くのホスティング事業者では、管理パネルのおかげで宛先フォルダー (Web ディレクトリ) を構成できます。できない場合は、これは簡単です。

1) 共有ホスティングのルート ディレクトリに Symfony 構造を追加します。

2) Web/ディレクトリの名前を、ホスティング事業者が使用しているものに変更します (多くの場合、「www」または「public」)。

3) Sf 設定をオーバーライドして、「web」ディレクトリの名前が「www」になりました: http://symfony.com/doc/current/cookbook/configuration/override_dir_structure.html#override-the-web-directory

于 2013-08-08T15:24:11.527 に答える
1
  1. Symfony フォルダーとそのすべての内容を、次のような別の場所に移動します。/home/work/Symfony

  2. Symfony/web/.htaccessand app.phpto http://www.host.tld/(つまりwwworpublic-htmlまたはhtdocs)にコピーします。

  3. app.phprequire ステートメントを編集および調整して、ポイントするようにします。/home/work/Symfony/app

  4. 走るapp/console assets:install http://www.host.tld/

この時点で、アプリはwww.host.tld、キャッシュのアクセス許可が正しく設定されていると仮定して実行する必要があります。ルートには、生成された目的のパスが含まれます。

Web 構成を変更する必要はありません。

于 2013-08-08T15:17:52.487 に答える