If you use Apache, check phpinfo() (see https://www.php.net/manual/en/function.phpinfo.php), search for ‘mod_rewrite’. If it is enabled you should see it as ‘Loaded Modules’. If not, open httpd.conf (Apache Config file) and look for:
#LoadModule rewrite_module modules/mod_rewrite.so
Remove the pound (‘#’) sign at the start and save the file. Restart your apache server. Check phpinfo() and search for ‘mod_rewrite’ again. You should be able to find it now.
- You may check your .htaccess at the project folder, if you generate your site to /srv/www/htdoc, the file is /srv/www/htdoc/.htaccess, if you generate your site to a subfolder of your site like /srv/www/htdoc/demo2021, the file is /srv/www/htdoc/demo2021/.htaccess. The content should be like:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
If you generate to subfolder, some server may require RewriteBase (see https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase), e.g.
RewriteEngine On
RewriteBase /demo2021/
…