2016-06-02 19 views
1

Ich habe eine Sub-Domain xxx.yyy.fr mit apache2 in den Ordner konfiguriert /var/www/my_symfony_project/web/Symfony .htaccess Umleitung Subdomain Route mit params

standardmäßig symfony alle Abfragen andere umleiten zu /app.php (mit der .htaccess in/Web-Verzeichnis):

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

So wird xxx.yyy.fr zu xxx.yyy.fr/app.php/ umgeleitet

ich habe eine Route wie: xxx.yyy.fr/app.php/my_route/{optional_param}, mit einem Controller eines nd eine Aussicht.

Meine Frage ist: Wie kann ich diese URL für umschreiben, wenn ich gehe xxx.yyy.fr/{optional_param} ist wie ich gehe auf die vollständige URL xxx.yyy.fr/app.php/my_route/{optional_param}?

Danke!

Antwort

0

Haben Sie nur eine Route?

Andernfalls wird es immer zu der Route umleiten, die Sie einrichten.

Ich denke, du brauchst so etwas. Und eine Sache. Wenn Sie alles auf eine einzelne URL umleiten, funktionieren Ihre Bilder /, js /, css/files nicht. Sie werden auch umleiten.

Sie können so etwas versuchen. Dies ist, was ich gerade benutze.

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> 

Sie brauchen nicht die/Web-Teil, weil Sie bereits Umleitung auf/var/www/my_symfony_project/web/

this helps