user746379
user746379

Reputation: 1512

Magento redirection problem after moving

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?

Upvotes: 17

Views: 33397

Answers (14)

Annahri
Annahri

Reputation: 184

I wanted to add my 2 cents here. After manually deleting the cache files in var/cache, still not working. (The URL settings are already correct).

These got me working:

# In the magento root dir

php bin/magento cache:flush
php bin/magento cache:clear

# Replace php with the php runtime you're currently using

The redirection issue has gone.

Upvotes: 0

Black
Black

Reputation: 20322

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!

Upvotes: 0

justnajm
justnajm

Reputation: 4534

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

Upvotes: 0

Gendos-ua
Gendos-ua

Reputation: 383

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.

Upvotes: 1

pranabesh chand
pranabesh chand

Reputation: 91

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

Upvotes: 0

Sol
Sol

Reputation: 337

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

Upvotes: 0

Thịnh Phạm
Thịnh Phạm

Reputation: 2663

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

Upvotes: 1

user746379
user746379

Reputation: 1512

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

Upvotes: 22

Paul Ionescu II
Paul Ionescu II

Reputation: 3

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!

Upvotes: 0

user74847
user74847

Reputation: 361

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.

Upvotes: 3

Naveed
Naveed

Reputation: 4119

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 :)

Upvotes: 2

Fury
Fury

Reputation: 4776

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

Upvotes: 4

Fedir RYKHTIK
Fedir RYKHTIK

Reputation: 9994

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.

Upvotes: 1

Shakti Singh
Shakti Singh

Reputation: 86406

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"

Upvotes: 17

Related Questions