Test for a plugin conflict. You can do this by deactivating all third-party plugins, and see if the problem remains. If it's fixed, you'll know a plugin caused the problem, and you can narrow down which one by reactivating them one at a time.
Reset your htaccess file by renaming it to .htaccess-bak. Then in WP Admin Menu, go to Settings > Permalinks and just click the Save Changes button.
Make sure that you're running at least PHP v5.6.x or later to avoid any WordPress related incompatibility issues. If you're not sure what your server configurations and settings are, install a plugin like WP-Serverinfo (https://wordpress.org/plugins/wp-serverinfo/) and check your server info by head over to Dashboard -> WP Serverinfo area.