How to remove index.php from Symfony4 router? How to remove index.php from Symfony4 router? symfony symfony

How to remove index.php from Symfony4 router?


I do not know about Symfony. But it should work with all apache2 and php project.


First you need to do two things:

  1. You need to check if php rewrite module is enabled. you can do it with phpinfo(). Write this in a file info.php and open in browser: http://localhost/info.php

    Now search for mod_rewrite. If you see mod_rewrite in this page that means, mod_rewrite is enabled.

  2. If mod_rewrite is not enabled, enable it. I enabled in in ubuntu 18.04 for apache with this command: $ sudo a2enmod rewrite. Then restart apache2 $ systemctl restart apache2

if mod_rewrite is enabled, then other configuration will work.


  1. Then add AllowOverride All in .conf file:

    <Directory /var/www/project/public>    AllowOverride All</Directory>

  1. Then add .htaccess file in you project root directory.

    <IfModule mod_rewrite.c>    RewriteEngine On    # Send would-be 404 requests to Craft    RewriteCond %{REQUEST_FILENAME} !-f    RewriteCond %{REQUEST_FILENAME} !-d    RewriteRule (.+) index.php?p=$1 [QSA,L]</IfModule>

Note: Try adding .htaccess file in /var/www/project/.htaccess or in /var/www/project/public/.htaccess. Not sure what will work.


This apache configuration doesn't include the redirection to index.php for every request. You have 2 choices:

• On the same page, there is a configuration which include this redirection after this sentence : "Use the following optimized configuration to disable .htaccess support and increase web server performance:"

• If you want to use .htaccess to proccess this redirection, then you could simply execute composer require apache-pack. This command will install a .htaccess in your public directory.


If you change it this way maybe it can work,

AllowOverride AllOrder Allow,Deny