I have a magento2 based website and i am trying to get the index.php removed from the url. I have enabled mod_rewrite on the server and also enabled it via the magento admin panel.

In my virtual host file on the apache2 server i have the below

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    ServerName testsite.islandtrinketz.com

    ServerAdmin ****@gmail.com
    DocumentRoot /var/www/i******.com

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    <Directory /var/www/html/*****.com>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all

    ErrorLog ${APACHE_LOG_DIR}/****_error.log
    CustomLog ${APACHE_LOG_DIR}/****_access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf

I also ran the below command in ssh and it says its enabled

sudo a2enmod rewrite

So I am not sure why when I go to the site the only way a page will load is if i put index.php in the url manually?

  • Did you enable "Web Server Rewrites" in Configuration > General > Web > Search Engine Optimization? – Hunter Dec 10 '19 at 21:09

Steps to Remove Index.php from URL in Magento:

For Magento 2:

  1. Log in to Admin panel

  2. Navigate to Stores > Configuration > General > Web

  3. Expand the Search Engine Optimization section

  4. Set “yes” to Use Web Server Rewrites option.

enter image description here

  1. Further, expand the Base URLs (Secure) section
  2. Set “yes” to Use Secure URLs on Storefront

enter image description here

7.Save the configuration

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.