How to enable /wp-admin on subdomains

November 11, 2019 140 views
Apache WordPress MySQL

Hello,

I’ve created 2 subdomains for my domain.com: dev.domain.com and dev2.domain.com.
I created them by copying databases and apache configs. I made the necessary changes in apache configs and enabled them, but did nothing with databases for now.

So dev. dev2. domains are working - I can open them and when I change something on domain.com these changes do not impact dev. and dev2.

But there’s one problem. When I am trying to connect to dev.domain.com/wp-admin and dev2.domain.com/wp-admin they both redirect me to domain.com/wp-admin.

Can you please guide me to where I must make changes to enable dev. and dev2 /wp-admin to work independently from each other and from domain.com.
If I am not mistaken I must change something in my databases.

Please ask if you need more information.

2 Answers

Hello,

Yes, indeed you are correct. What you need to do is:

  • Make sure that your wp-config.php files for your new subdomain names are set to the new databases and database users that you’ve created

  • You need to run a search and replace for your new databases to update all of the references for your domain to your subdomain name

For example to do that you could either use the wp-cli toolor the following script:

https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

If you decide to go with the wp-cli tool, the command that you would need to use would look something like this:

wp search-replace 'http://example.com' 'http://sub1.example.com'

It is best to run that command from within the document root directory of your new sub domain so that the tool could pick up the database details from your wp-config file.

Note that this is a really dangerous operation as it can mess up your whole database in case anything goes wrong so it is very important to always make a backup of your database before proceeding with the operation.

Hope that this helps!
Regards,
Bobby

Have another answer? Share your knowledge.