How does WordPress create URLs that Apache knows about?

Actually there is no communication happening between Apache and WordPress. The “magic” is happening in Apache mod_rewrite rules. For a standard WordPress installation, you have the following rules in .htaccess: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # … Read more

.htaccess: Invalid command ‘RewriteEngine’, perhaps misspelled or defined by a module not included in the server configuration

or defined by a module not included in the server configuration Check to make sure you have mod_rewrite enabled. From: https://webdevdoor.com/php/mod_rewrite-windows-apache-url-rewriting Find the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines) Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules/mod_rewrite.so (remove the pound ‘#’ … Read more