Wrong URL after backup and restore

Permalink
I moved my site from old server to new server. I copied all the files to a new server and restore the database, then I can access my site. But some URLs are wrong.
Such as in sitemap, there is an link and the Canonical URL in "Page Paths and Location" is "http://www.aplus-powerconnector.com/cn/solutions/si". But when I open the page, the link is link to "http://www.aplus-powerconnector.com/solutions/si" which the cn is missing.

And when I visit the link, it works with an URL like "http://www.aplus-powerconnector.com/cn/index.php?cID=250", But when I try to directly access "http://www.aplus-powerconnector.com/cn/solutions/si", the system shows me Page Not Found.

I think I have missed any config when I move my site to new server. It seems like there are somethin wrong with redirect config for my site.
How can I solve the problem? Or is there any mind how can I find the bug is?
Thank you!

 
Gondwana replied on at Permalink Reply
Gondwana
Before trying anything radical, clear all possible caches (c5, browser, etc).
BraidTim replied on at Permalink Reply
Thank you.
But after I clean the cache in concret5 and browser, the bug still exist.
JohntheFish replied on at Permalink Reply
JohntheFish
After clearing the cache, have you updated the canonical URL for the new location?

Are you using any custom blocks or themes?
BraidTim replied on at Permalink Reply
Thanks for you reply!
update the canonical URL, do you mean save the URL again?
I didn`t find any custom blocks or themes in the site. If there is, does it maybe make the canonical URL link to a wrong URL?
JohntheFish replied on at Permalink Reply
JohntheFish
Setting the canonical URL in the dashboard for the new URL of the site.

Some custom blocks may not process URLs correctly and hence leave broken links when a site is moved. Similarly, sometimes a user edits a content or html block and pastes a hard URL where they should have used an internal link.
BraidTim replied on at Permalink Reply
I think it should be the theme.
There is a custom theme in use. How can I edit the theme?
Can I edit in dashboard? Or I need to edit it directly in php files?
JohntheFish replied on at Permalink Reply
JohntheFish
You will probably need to edit the theme php files. Have a look at the source of Elemental/Cloneamental for the correct way to build in links.
BraidTim replied on at Permalink Reply
I found there are also something wrong in the .htaccess file which make my page not found.
And now I am trying to edit php files to fix the wrong link.
Thank you very much for your reply!