17

I've moved my Magento to another server with another domain name, now it keeps linking me back to the old domain. All files and the entire database has been searched&replaced to ensure references are gone. Cache got removed. I suspect it still tries to use the old database so i modified the local.xml file containing the DB info but that doesn't change anything. Since there is no cache does anyone have any idea what goas wrong?

user746379
  • 1,492
  • 2
  • 13
  • 21

13 Answers13

22

Apparently Magento used the 'temp' directory in the server-root for caching as well. cleaning this would solve the issue. This is of course also taken care of when rebooting the server.

Make sure your webserver has write access to the var, var/cache and var/tmp folder in your magento installation. Try using chmod -R 700 var or chmod -R 766 (use the latter with caution).

NOTE: This is the result of not having your file/directory permissions properly set. Magento tries to use var/cache and var/tmp, finds them unwritable by the web server user and proceeds to move its cache to the system /tmp folder. No matter how much you curse and change the BaseURL settings and erase anything you find in var/cache, Magento continues to read the cached configuration out of the system /tmp folder.

Don't believe that Linux Server Admin 101 problems cause this? Here's visual proof.

enter image description here

enter image description here

forsvunnet
  • 1,238
  • 10
  • 17
user746379
  • 1,492
  • 2
  • 13
  • 21
  • Try the above suggestion after core_config_data update. I usually just `rm -Rf var/*` and that worked. – justinpage Oct 09 '14 at 19:57
  • Removing all of the content of var is not necessary right? So rm -rf var/cache/* should work also? Because you could delete backups/exports etc.. – Bram Hammer Dec 16 '14 at 14:41
  • `rm -rf var/cache/*` plus update the `web_unsecure_base_url` and `web_secure_base_url` in db TABLE `core_config_data` solved my problem. In my case I had to do both for my Magento Ver 2.4.3 – seedme Jan 23 '22 at 22:26
17

This is probably due to the old base url stored in the database table core_config_data. You have to update that values to point to the new domain.

You can update with the following update queries

UPDATE core_config_data SET value="http://www.newdomain.com/" 
WHERE path="web/unsecure/base_url"

to update secure base url

 UPDATE core_config_data SET value="https://www.newdomain.com/" 
 WHERE path="web/secure/base_url"
Shakti Singh
  • 84,385
  • 21
  • 134
  • 153
  • Thanks but that's already done. I suspect however that it is still using the old database even though the local.xml was modified and the cache was removed. – user746379 Jul 29 '11 at 09:46
  • @user: Did you delete cache folder? – Shakti Singh Jul 29 '11 at 09:51
  • 1
    I did, I have found the problem already though. Apparently Magento used the 'temp' directory in the server-root aswell :| – user746379 Aug 02 '11 at 07:41
  • The same issue, modification of core_config_data is not enough. – Fedir RYKHTIK Oct 23 '11 at 05:12
  • 1
    It's using the old cached config, stored in another location. If you make the mistake of attempting to run Magento before you properly set your file/directory permissions **AND** change your BaseURLs, Magento stores it elsewhere and keeps referencing it until it can gain read/write access to var/cache and var/tmp – Fiasco Labs May 13 '13 at 20:19
  • @FiascoLabs `mkdir var/cache && chmod -R 766 var` solved the problem for me. Thanks :) – forsvunnet Oct 29 '14 at 11:37
4

here is your answer:

First step was simple – finding in the database base url value: table name is core_config_data and the keys are /web/unsecure/base_url and web/secure/base_url. Change those two to the proper values.

Second step is also very logical – cleanup cache! Magento does cache everything, including values of config table, so go to the Magento root with FTP or SSH, remove everything from the folders var/cache/ and var/session/ and var/tmp. (You can even rename them and create a empty folder in those names).

Hope it helps

Fury
  • 4,643
  • 5
  • 50
  • 80
3

I just had this problem, after trying everything listed above and on several other SO answers i discovered there is more than one base_url definition in the core_config_data table

if you run

select * from core_config_data where path like '%base_url%'

You should see all of the definitions the scope was different on this definition and was overriding the default which i had already changed.

user74847
  • 181
  • 1
  • 2
  • 12
2

one thing more which people easily forget in such cases. local.xml should also be modified according to the settings of backup database. Otherwise you can edit the base_url and clear the cache thousand times and you will never be directed to the url you desire :)

Naveed
  • 3,959
  • 1
  • 11
  • 3
1

in my case it's because I forgot to change the db name in app/etc/local.xml

Thịnh Phạm
  • 2,528
  • 5
  • 26
  • 39
1

In my case it was config with path=payment/wayforpay_payment/merchant which has domain with dots replaced by underscores, e.g. www_yourdomain_com. After I changed it to mynewdomain_com issue was resolved.

Gendos-ua
  • 373
  • 3
  • 9
1

In my case it was even more strange, on my development instance I had no "temp" folder, the cache was stored somewhere outside of site vhost, or in dB, but not in core_config_data. Only flush cache in Magento BE could help, so better to do it before dB dump.

Best regards.

Fedir RYKHTIK
  • 9,844
  • 6
  • 58
  • 68
0

I also had some problems with url redirection, be sure when you set your new domain in backend to add a / character at the end of the url. All the best!

0

in my case it was baseUrl with one upper-case letter

Sol
  • 337
  • 2
  • 8
  • 20
0

Delete cache from var/cache directory.

after that run this query in core_config_data table in magento. after that you ll not get redirect error.

This process ll work for both Magento 1.9.x and magento 2.x

UPDATE core_config_data SET value="http://example.com/" WHERE path="web/unsecure/base_url"; UPDATE core_config_data SET value="https://example.com/" WHERE path="web/secure/base_u

0

I figured out that perform the move operation using interfaces:

  1. Under admin > configuration > general tab > web, update base url and secure base url.

  2. Move your folder.

  3. Under command line tell magento to clear cache.

php bin/magento cache:clean

justnajm
  • 4,422
  • 6
  • 36
  • 56
0

I had the same problem. If you can call your site by adding index.php to the URL (e.g. http://www.yoursite.de/index.php) then it is most likely a cache issue.

Open the developer console and disable the cache, or just delete the cache in the browser. Then call the URL. This solved it for me!

Black
  • 18,150
  • 39
  • 158
  • 271