2016-06-02 3 views
1

У меня есть поддомен xxx.yyy.fr сконфигурированный с apache2 в папку /var/www/my_symfony_project/web/Symfony .htaccess редирект субдомен маршрут с Params

По умолчанию, Symfony перенаправлять все другие запросы /app.php (с .htaccess в каталоге/веб):

# Rewrite all other queries to the front controller. 
RewriteRule^%{ENV:BASE}/app.php [L] 

Итак, xxx.yyy.fr перенаправляется xxx.yyy.fr/app.php/

у меня есть маршрут, как: xxx.yyy.fr/app.php/my_route/{optional_param} с контроллером и вид.

Мой вопрос: как я могу переписать этот url для, когда я иду на xxx.yyy.fr/{optional_param}, как я иду на полный URL-адрес xxx.yyy.fr/app.php/my_route/{optional_param}?

Спасибо!

ответ

0

У вас есть только один маршрут?

В противном случае он всегда будет перенаправлен на маршрут, который вы установили.

Думаю, вам нужно что-то подобное. И одно. Если вы перенаправляете все на один URL-адрес, ваши изображения /, js /, css/files не будут работать. Они также будут перенаправлены.

Вы можете попробовать что-то вроде этого. Это то, что в настоящее время используется.

DirectoryIndex app.php 

<IfModule mod_rewrite.c> 
Options +FollowSymlinks 
RewriteEngine On 

# Explicitly disable rewriting for front controllers 
RewriteRule ^/web/app.php/your_route - [L] 

# Fix the bundles folder 
RewriteRule ^css/(.*)$ /web/css/$1 [QSA,L] 
RewriteRule ^js/(.*)$ /web/js/$1 [QSA,L] 
RewriteRule ^bundles/(.*)$ /web/bundles/$1 [QSA,L] 
RewriteRule ^fonts/(.*)$ /web/fonts/$1 [QSA,L] 
RewriteRule ^images/(.*)$ /web/images/$1 [QSA,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
# Change below before deploying to production 
RewriteRule ^(.*)$ /web/app.php/your_route [QSA,L] 
# RewriteRule ^(.*)$ /web/app_dev.php [QSA,L] 
</IfModule> 

Вам не нужны/веб-часть, потому что вы уже перенаправления/вар/WWW/my_symfony_project/веб/

Надеется, что это помогает

Смежные вопросы