This is a tip for anyone having '404 Page Not Found' problems on a new virtual host installation of Codeigniter 3 on a Synology NAS.
I struggled for ages trying to figure out why the 'Welcome' page would only display if I typed
only the website address in the browser. If I typed in 'website/welcome/index' or 'website/index.php/welcome/index' I got a '404 Page Not Found' error.
I won't bore you with all the Codeigniter 3 settings that I tried because they all failed to cure the problem. That was not the fault of Codeigniter 3. The real culprit was a setting in my Synology NAS (using DSM 6.0-7321 Update 6).
The default setting for a virtual host is to use Nginx as the HTTP backend server. When I switched to using the Apache backend server, everything worked perfectly.
I confess to knowing nothing about Nginx, so I'm sorry if there is a better way of solving this problem. My solution, which did work, is as follows:-
- Log into your Synology NAS
- Open Main Menu
- Click on Web Station
- Click on Virtual Host
- Click on the problem web site to select it
- Click the Edit button
- In HTTP Backend Server, if 'Nginx' is showing in the dropdown, select 'Apache HTTP Server x.x' instead
- Click the OK button
- If another pop-up appears regarding read access, click on Yes
- Close Web Station