My WordPress blog has been successfully installed.
Now, I want to run the blog under a sub-domain i.e. http://blog.domain.com instead of http://host.domain.com/blog.
Let’s see how this can be done.
Initial googling points to apache and mod_rewrite. Let’s read more.
Oops, further googling shows that this can be done without using URL rewrites. Just use the built-in apache virtual hosts feature by adding the following to the config file (/etc/httpd/conf/httpd.conf in CentOS):
NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin email@example.com DocumentRoot /path/to/wordpress/directory ServerName blog.domain.com ErrorLog logs/blog.domain.com-error_log CustomLog logs/blog.domain.com-access_log common </VirtualHost>
And.. voila! Not really. After doing this and restarting the apache service, http://blog.domain.com throws out a 404 error.
It turns out you need to change the WordPress working directory to the new URL via Settings>General before moving the files and implementing the virtual host. After that everything is OK.