• I changed Base Urls and now my website is inaccessible
  • I moved everything to a new server, didn't change the base_url and my website is inaccessible

How do I change or restore base_url my BaseURL settings?

up vote 53 down vote accepted

Symptom: I changed Base Urls and now my website is inaccessible or I moved everything to a new server, didn't change the base_url and my website is inaccessible.

How to change or restore base_url settings with phpMyAdmin

Instructions are for a simple "one store" website where the "default store view" is set to inherit its setup from the "default config". There will be an additional instance of the below mentioned table rows for each unchecked Use Website checkbox.

  1. Open your core_config_data table in phpMyAdmin.

  2. Sort table by path column and find the following rows for your unsecure section, they should look like the following:

Columns

PATH                         VALUE
web/unsecure/base_url        http://www.example.com/
web/unsecure/base_link_url   {{unsecure_base_url}}
web/unsecure/base_skin_url   {{unsecure_base_url}}skin/
web/unsecure/base_media_url  {{unsecure_base_url}}media/
web/unsecure/base_js_url     {{unsecure_base_url}}js/
  1. Replace http://www.example.com/ with your appropriate domain url (trailing slash necessary) and if you’ve installed in a subfolder append it with a / after it.

  2. Find the following rows for your secure section, they should look like the following:

Columns

PATH                        VALUE
web/secure/base_url         https://www.example.com/
web/secure/base_link_url    {{secure_base_url}}
web/secure/base_skin_url    {{secure_base_url}}skin/
web/secure/base_media_url   {{secure_base_url}}media/
web/secure/base_js_url      {{secure_base_url}}js/
  1. Replace https://www.example.com/ with your appropriate domain url (trailing slash necessary) and if you've installed in a subfolder append it with a / after it. If you haven't received your security certificate and enabled TLS/SSL yet, use http instead of https

  2. Clear contents from var/cache, var/session directories after changing base_urls.

Clearing cache and sessions is necessary because your config is cached and clearing it forces a reread of the configuration data from the core_config_data table and reestablishment of sessions with the proper information.

NOTE: If you have set your base_url correctly for web/unsecure/base_url and web/secure/base_url you do not have to mess around with changing the {{UNSECURE_BASE_URL}} and {{SECURE_BASE_URL}} macros in the rest of the entries.

How to change base_url settings with mysql from the command line

  1. Log into your MySQL database, replace $USER with your database user name and $DBASE with your database name. It will prompt you for your password:

mysql -u $USER -p $DBASE

  1. Below are the SQL commands to change your base_url values. Replace unsecure http://www.example.com/ and secure https://www.example.com/ (if you have SSL/TLS enabled, else https should be http) with your appropriate domain url (trailing slash necessary) and if you’ve installed in a subfolder append it with a / after it.

SQL Commands

UPDATE core_config_data SET value = 'http://www.example.com/' WHERE path LIKE 'web/unsecure/base_url';
UPDATE core_config_data SET value = 'https://www.example.com/' WHERE path LIKE 'web/secure/base_url';
  1. Check your base_url settings with the following:

SQL Commands

SELECT path,value FROM core_config_data WHERE path LIKE 'web/unsecure/base%';
SELECT path,value FROM core_config_data WHERE path LIKE 'web/secure/base%';
  1. Clear contents from var/cache, var/session directories after changing base_urls. Clearing cache and sessions is necessary because your config is cached and clearing it forces a reread of the configuration data from the core_config_data table and reestablishment of sessions with the proper information.
  • Note: In extreme cases where your permissions on the var/ directory are messed up, Magento will store the Magento cache in the system /tmp directory as documented here and clearing the cache doesn't clear the cached config entries pulled from core_config_data until server reboot or someone with sufficient rights can delete Magento's mislaid cache. – Fiasco Labs Jul 28 '15 at 0:33
  • For finding that misplaced cache directory, if you can install n98-magerun, use the command n98-magerun.phar sys:info to get a basic system info listing with one item being Cache Directory location. – Fiasco Labs Jan 28 '16 at 2:19

In Magento2, there is also a way to do this directly via Magento using below commands rather than having to go through SQL which i find a bit quicker.

Within Magento’s root directory run below commands:

  1. Set Unsecure URL

    bin/magento setup:store-config:set --base-url="http://www.magento2.com/"
    
  2. Set Secure URL

    bin/magento setup:store-config:set --base-url-secure="https://www.magento2.com/"
    
  3. Clear Cache

    bin/magento cache:flush
    

protected by Community Jan 20 '16 at 11:57

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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