Phalcon 3 - Apache Installation Notes

ملاحظات تثبيت اباتشي




phalcon

Apache هو خادم ويب مشهور ومعروف ومتاح على العديد من المنصات.

تكوين أباتشي لفالكون

فيما يلي التكوينات المحتملة التي يمكنك استخدامها لإعداد Apache with Phalcon. وتركز هذه الملاحظات في المقام الأول على تكوين وحدة mod_rewrite مما يسمح باستخدام عناوين المواقع ودية ومكون جهاز التوجيه . عادة ما يحتوي التطبيق على البنية التالية:

test/
  app/
    controllers/
    models/
    views/
  public/
    css/
    img/
    js/
    index.php

دليل تحت جذر الوثيقة الرئيسية

هذه هي الحالة الأكثر شيوعًا ، يتم تثبيت التطبيق في أي دليل تحت جذر المستند. في هذه الحالة ، نستخدم ملفين .htaccess ، أولهما لإخفاء رمز التطبيق الذي يعيد توجيه جميع الطلبات إلى جذر المستند الخاص بالتطبيق (عام /).

# test/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule  ^$ public/    [L]
    RewriteRule  ((?s).*) public/$1 [L]
</IfModule>

الآن يوجد ملف .htaccess ثاني في الدليل العام / ، وهذا يعيد كتابة جميع عناوين URI إلى ملف public / index.php:

# test/public/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^((?s).*)$ index.php?_url=/$1 [QSA,L]
</IfModule>

إذا كنت لا تريد استخدام ملفات .htaccess ، فيمكنك نقل هذه التهيئات إلى ملف التكوين الرئيسي في apache:

<IfModule mod_rewrite.c>

    <Directory "/var/www/test">
        RewriteEngine on
        RewriteRule  ^$ public/    [L]
        RewriteRule  ((?s).*) public/$1 [L]
    </Directory>

    <Directory "/var/www/test/public">
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^((?s).*)$ index.php?_url=/$1 [QSA,L]
    </Directory>

</IfModule>

المضيفين الظاهري

ويتيح لك هذا التكوين الثاني تثبيت تطبيق Phalcon في مضيف ظاهري:

<VirtualHost *:80>

    ServerAdmin [email protected]
    DocumentRoot "/var/vhosts/test/public"
    DirectoryIndex index.php
    ServerName example.host
    ServerAlias www.example.host

    <Directory "/var/vhosts/test/public">
        Options All
        AllowOverride All
        Allow from all
    </Directory>

</VirtualHost>

أو إذا كنت تستخدم Apache 2.4 أو أعلى:

<VirtualHost *:80>

    ServerAdmin [email protected]
    DocumentRoot "/var/vhosts/test/public"
    DirectoryIndex index.php
    ServerName example.host
    ServerAlias www.example.host

    <Directory "/var/vhosts/test/public">
        Options All
        AllowOverride All
        Require all granted
    </Directory>

</VirtualHost>