Назад | Перейти на главную страницу

Конфигурация Symfony2 Vhost

Я новичок в Symfony2 и следую EnsJobeet учебник. Моя конфигурация VirtualHost выглядит следующим образом:

<VirtualHost *:80>
    ServerName jobeet.local
    DocumentRoot /var/www/ensjobeet/web/
    DirectoryIndex app.php
    ErrorLog /var/log/apache2/jobeet-error.log
    CustomLog /var/log/apache2/jobeet-access.log combined
    <Directory "/var/www/ensjobeet/web/">
        AllowOverride All
        Allow from All
    </Directory>
</VirtualHost>

Когда я делаю запросы к jobeet.local / app_dev.php / job /, я получаю страницу вакансий, когда я делаю запросы к jobeet.local / app.php / job /, я получаю страницу вакансий. Однако запросы к jobeet.local / job / 404 с The requested URL /job/ was not found on this server.

Я бы подумал, что запросы jobeet.local / и jobeet.local / app.php / были бы эквивалентными, но они не кажутся таковыми, так что есть ли какой-то другой аспект конфигурации среды, который я ошибаюсь?

Вот пример для prod и dev vhosts

# Symfony 2 : monapp.dev
<virtualHost *:80>
  ServerName monapp.dev
  DocumentRoot /data/www/MonApp/web/

    <Directory "/data/www/MonApp/web">
      DirectoryIndex app_dev.php
      Options -Indexes FollowSymLinks SymLinksifOwnerMatch
      AllowOverride None
      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)$ app_dev.php [QSA,L]
    </Directory>
</VirtualHost>

# Symfony 2 : monapp.prod
<VirtualHost *:80>
  ServerName monapp.prod
  DocumentRoot /data/www/MonApp/web/

    <Directory "/data/www/MonApp/web">
       DirectoryIndex app.php
       Options -Indexes FollowSymLinks SymLinksifOwnerMatch
       AllowOverride All
       Allow from All
    </Directory>
</VirtualHost>

mod_rewrite был установлен, но не включен. Я такой глупый!!

После настройки виртуального хоста введите приведенный ниже код в файл web / .htaccess.

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On

    #<IfModule mod_vhost_alias.c>
    #    RewriteBase /
    #</IfModule>

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app_dev.php [QSA,L]
</IfModule>

Комбинация обоих файлов + (@Bendihossan и @Эмма) здесь работал ...

<VirtualHost *:80>
    ServerName symfony2-7-9.dev
    DocumentRoot /var/www/symfony2-7-9/web/
    DirectoryIndex app.php
    ErrorLog ${APACHE_LOG_DIR}/symfony2-7-9-error.log
    CustomLog ${APACHE_LOG_DIR}/symfony2-7-9-custom.log combined
    <Directory "/var/www/symfony2-7-9/web/">
        Options -Indexes FollowSymLinks SymLinksifOwnerMatch
        AllowOverride None
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ app_dev.php [QSA,L]
    </Directory>
</VirtualHost>