Moved to a new server, and links to everything but the homepage give 404 errors

I had this site running on a different server, and I am moving it to a cheaper server to save a buck. I ran the install, get everything connected, and go to the site, but none of the link to the rest of the pages work, only the home page.

This is in 2.8.4

Hey @bcarrigg90 …

A couple of things spring to mind …

Did your .htaccess file copy over OK?

If that’s missing then the friendly URL functionality won’t work.

The other thing to try is to empty you core/cache folder.

It seems like the .htaccess file copied fine and is intact. I had forgotten to clear the cache folder so I did that now. It doesnt seem to have made a difference however.

What do you see when you try to access one of these pages?

Does the site use Friendly URLs?

If so - check your .htaccess file [the one in the root of your site] and check that the following lines are present:

image

If all looks OK - see if you can access the page without the FURL:

https://yourdomain.xyz/index.php?id=99

Where 99 is the ID of a published resource on your site.

That part of the .htaccess file is present and accurate. If I go to a page without using the id and not the friendly url it loads properly. Could there be something else in the apache config that is needed to make the furl work? I have the apache rewrite module enabled at least.

Part of my issue is I barely touched this site for about 2 years, so I’m trying to relearn what I actually wrote while moving it, which probably isn’t the recommended way to do it.

I forgot to mention I am getting the following 404 response when trying to follow links on my site.

OK - so it does sound like an issue with FURLS.

Are they enabled in System Settings?

Maybe your server is ignoring your .htaccess file - but I’m afraid I’m not sure why that might be.

They are enabled, yes. The strange this is that things like the manager work, even though the url looks like the same format as the broken pages.

I wonder if it’s also related that the manager is warning me that my core folder is still accessible from the web, even though I have changed the .htaccess to block it. That also seems like the htaccess file is being ignored. I can still view things like the changelog without any errors at all, which should not be.

Okay I spoke too soon, I found a problem in the default apache config, where AllowOverrides was set to None and ignored the .htaccess files. Now, I get no errors, but all links still show me the home page.

A little more digging, maybe a little more progress. I added the following to my virtualhost config for this site:

    <Directory "/var/www/dap">
      Options -Indexes +FollowSymLinks -MultiViews
      AllowOverride All
      Require all granted
    </Directory>

It appears I am not able to follow links throughout the site, but now I cannot navigate to different sections of the manager. For example system settings, just takes me to a blank manager page, with just the left and top navigation still present.

I am getting tons of “error connection refused” reponses in the console on broken manager pages. Somehow it now seems more broken, and manager pages load no css at all.

And now the whole site is down and refuses to connect. I don’t think I even did anything.

Your front end FURLS are working OK from here now.

For your Manager … it looks like it’s failing to load these:

These all seem to be referring to a renamed manager:

But get 302 redirected to the standard manager address - but over HTTPS

So:

http://digitalageproductions.com/cms/assets/ext3/resources/css/ext-all-notheme-min.css

becomes

https://digitalageproductions.com/manager/assets/ext3/resources/css/ext-all-notheme-min.css

However, HTTPS requests are being rejected by your server.

This works: http://digitalageproductions.com/manager/assets/ext3/resources/css/ext-all-notheme-min.css

This doesn’t: https://digitalageproductions.com/manager/assets/ext3/resources/css/ext-all-notheme-min.css

Was your site running on HTTPS before the move?

Getting the site running over HTTPS might help solve some of your issues.

I will work on getting https setup on this server, that was operating on the previous one. I had the manager at that other address also, but I don’t now. Did I miss updating paths somewhere to correct that?

Usually, running setup will correct the paths. Otherwise, you can check them in core/config/config.inc.php file. You can also look at the config.core.php files in the root, manager, and connectors directories.

Also, make sure you have this tag in the head section of all templates (with the exclamation point!).

<base href="[[!++site_url]]"/>

What you’re seeing is most often caused by the line above, or by an error in the config.core.php file. Note that the latter contains both URLs and paths, and they are not the same.

1 Like

I had a brief moment of success, followed by failure. Once I got ssl running, the site and manager backend both seemed to be running normally. So I took that as my cue to move ahead with the update to 3.0.2, which I seem to have botched, and now it looks like I will be starting all over again. At least I know the server settings are good now, but I’m back to square one with my zip from the old server. I’m stuck right now with nothing working. I updated the paths and ran setup successfully, but I cannot reach either the home page or the manager. I don’t know what I broke so badly that I can’t reach anything now.

The only think I can suggest is to re-try the suggestions above if you haven’t already.

I wonder if it’s also related that the manager is warning me that my core folder is still accessible from the web, even though I have changed the .htaccess to block it. That also seems like the htaccess file is being ignored. I can still view things like the changelog without any errors at all, which should not be.

Some hosts, especially shared ones, will ignore .htaccess. You did rename ht.access to .htaccess, right?

It’s also worth checking your .htaccess file at one of the .htaccess validator sites.