Я новичок в 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>