Я сделал 1-ю установку Symfony2,
php app/console --version
Symfony version 2.0.11 - app/dev/debug
Я установил его под существующим DocumentRoot, настроив мой сервер apache2 vhost
<VirtualHost 127.0.0.1:80>
...
DocumentRoot /srv/www/localhost_www
...
<Directory "/srv/www/localhost_www" >
AllowOverride none
Options -ExecCGI +FollowSymLinks +Includes +Indexes +MultiViews
Order Allow,Deny
Allow from All
</Directory>
...
Alias /TESTAPP "/srv/www/TESTAPP/web/"
<Directory "/srv/www/TESTAPP/web/">
Options All
AllowOverride All
Allow from All
</Directory>
Alias /TESTAPP.symfony "/srv/www/TESTAPP/"
<Directory "/srv/www/TESTAPP/">
Options All
AllowOverride All
Allow from All
</Directory>
...
После установки ОК и успешного следования "Книге", чтобы создать демонстрационное приложение "Привет", если я перехожу в браузере на любое / все из,
dev:
http://localhost/TESTAPP.symfony/web/app_dev.php/hello/ME
http://localhost/TESTAPP/app_dev.php/hello/ME
prod:
http://localhost/TESTAPP.symfony/web/app.php/hello/ME
http://localhost/TESTAPP/app.php/hello/ME
вижу ожидаемое,
«Здравствуйте, меня!»
Я хочу переписать только рабочие URL-адреса, скрывая "app.php", чтобы следующий набор URL-адресов работал в навигационной панели браузера для моего приложения Symfony2:
dev:
http://localhost/TESTAPP.symfony/web/app_dev.php/hello/ME
http://localhost/TESTAPP/app_dev.php/hello/ME
prod:
!! http://localhost/TESTAPP.symfony/web/hello/ME
!! http://localhost/TESTAPP/hello/ME
Iiuc, по умолчанию web / .htaccess
cat web/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
нужно изменить.
Я копался в документах и в Интернете, пробовал vdiffferent рекомендации по изменению RewriteRule, добавлению «перманента RedirectMatch» и т. Д., И мне не удается получить простой
http://localhost/TESTAPP/hello/ME
когда-либо работать. Мне всегда нужно добавить "/app.php/".
Какие конкретные изменения мне нужно сделать, чтобы это заработало?
Спасибо.
@ часенов
включен ли mod_rewrite для apache?
да
если у вас есть файл .htaccess в вашем веб-каталоге
я делаю
и вы размещаете файл, указывающий на веб-папку
это, как указано выше,
Alias /TESTAPP "/srv/www/TESTAPP/web/"
<Directory "/srv/www/TESTAPP/web/">
app.php не требуется.
это моя проблема. без этого это не работает для меня.
В частности,
https://localhost/TESTAPP/app.php/hello/ME
возвращается:
«Привет, мне!»
но
https://localhost/TESTAPP/hello/ME
возвращает
Object not found!
The requested URL was not found on this server.
If you entered the URL manually please check your
spelling and try again.
If you think this is a server error, please contact
the webmaster.
Error 404