Migrating to New Ubuntu Server

I’m trying to migrate a concrete5.7.5.13 site running on Ubuntu 16.04 to Ubuntu 18.04 and then upgrade Concrete5 to the newest version.

I’m following these directions: Moving a website

After I move the site from Ubuntu 16.04 to 18.04 (not upgrading Concrte5) only the homepage works. All other pages return a 404.

Any idea what I’m doing wrong?

The issue is to do with the pretty URLs.

Go to your htaccess file and comment out the code for the rewrite.

RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME}/index.html !-f RewriteCond %{REQUEST_FILENAME}/index.php !-f RewriteRule . index.php [L]

Then go to the dashboard and go to

index.php/dashboard/system/seo/urls

And uncheck the pretty URLs and then save.

Then check pretty URLs and save again

Go back to htaccess file and uncomment the code back in.

Once it’s all done clear cache.

Basically when you move sites the pretty URLs for some reason switch off so you can’t see other pages. You need to tell the CMS you want them again but can’t as the code in the htaccess file stops keeps redirecting you.

If that makes any sense?

ok. i think ít true and like

Thank you. I got pulled off and onto a different project but I’ll give that a try soon.

For whatever reason when I moved the files to the http folder the .htaccess file did not go along.

I moved .htaccess to the root directory (/var/www/http), commented out the lines you indicated and restarted apache2. No change. The home page loads but none of the other pages do.

However, I noticed that I could insert index.php in the url and the page would load.

I tried to login that way but failed. www.example.com/index.php/login gives me the login page but when I submit the form it redirects to http://www.example.com/login/authenticate/concrete which is a 404. When I put in the index.php it gives me an error “Invalid form token. Please reload this form and submit again.”

Entering index.php/dashboard/system/seo/urls just sends me back to /login

What @TMDesigns described has 2 parts. You also need to

Then make sure the concrete5 caches are all disabled and cleared.

Right. However, I can’t get to the dashboard. When I enter my credentials and click submit I get a 404.

Unless I’m not understanding correctly.

I also discovered that my .htaccess file was not dong anything. I put gibberish under “RewriteEngine On” and the home page still loaded correctly.

I edited /etc/apache2/sites-available/000-default.conf and added the following:

    <Directory /var/www/html>
        AllowOverride All
    </Directory>

Now the .htaccess file is working.

I’ve gone back and started over with @TMDesigns instructions but I still can’t get to the dashboard. What am I missing?

Try putting index.php infront of any login

And do the dashboard bit before you mess with the .htaccess

@TMDesigns I put index.php in from for the login, which get me the login page. But I can’t get any further. I’ve uploaded a screenshot that I hope helps explain.

@JohntheFish I can’t get dashboard before editing the .htaccess because the URL does not work.

In that case you will need to edit the respective settings in /application/config/generated_overrides/concrete.php

Your other option is to go back to the original site, switch off pretty URLS, switch off and clear the caches, put database entities into development mode, clear any canonical URL, then make a new db & files backup.

Then scrub the new server and start again with the fresh copy. Once the db is imported, you will need to edit /application/database again to point to the new db name and pw.

There is an SEO redirect setting in the file should be set to 1 change it to 0

That did the trick! Thanks for your help.

I edited concrete.php and turned off the SEO redirect setting. Then I could log into the dashboard and turn back on Pretty URLs.