Symfony 2:Web服务器不会重写URL

when I put my web app (Symfony2) on production for this time the server doesn't rewrite (it often does) the URL and I don't know why. I usualuse the .htaccess files in the root and in the web folder.

.htaccess in root:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/$1 [QSA,L]

.htaccess in /web:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ web/$1 [QSA,L]

the following error is generated by the server:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@subdomaine_goes_here.domaine_goes_here.com to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

successfully solve the problem by putting two .htaccess files in the projects folders (REMEMBER: I'm using a sub-domain):

in root /: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ web/$1 [QSA,L]

in /web folder: I keept the original .htaccess file ships with symfony 2.7

You don't need .htaccess in root, you need .htaccess in your web directory and and domain should be set to point the web directory. Of course it can be customised but it's the best solution (php files are not accessible from browser). .htaccess should point web/app.php on production

Whole server configuration part can be found on: http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html