
Nos últimos 3 anos tive 2 cópias do meu site Wordpress. Um em www.domain.com e outro em dev.domain.com. Estou tentando adicionar um terceiro hoje. Parece bastante simples! Eu passo por todas as etapas simples de configuração e, assim que habilito o site, o 301 me direciona para o site www. Não sei como solucionar o que está acionando o 301. Está em algum lugar do Apache ou do Wordpress? Tudo o que sei é que estou copiando toda a configuração do site de desenvolvimento e alterando os nomes de subdomínio e diretório sempre que aplicável. Parece que isso deveria ser suficiente. Meus passos:
- Abra dev2.domain.com em um navegador e veja a página padrão do Apache2
- Copie a pasta de origem para /dev.domain.com -> /dev2.domain.com
- Copie /etc/apache2/sites-available/dev.domain.com.conf -> dev2.domain.com.conf
- Execute: sudo a2ensite dev2.domain.com.conf
- Execute: sudo service apache2 reload (e/ou reinicie - tentei ambos)
- Abra dev2.domain.com e seja redirecionado 301 para www.domain.com
Existe alguma maneira de descobrir definitivamente o que está causando o 301? O que é mais confuso é que estou criando este novo site em um subdomínio, copiando um site existente que está sendo executado em um subdomínio. Eu simplesmente não consigo descobrir qual é a diferença entre os dois.
Informações de configuração obrigatórias...
.htaccess idêntico no diretório raiz de todos os 3 sites (www, dev e dev2):
# 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>
# END WordPress
Options +Indexes
IndexOptions -FancyIndexing
configuração de sites disponíveis para dev.domain.com...
<VirtualHost *:80>
ServerName dev.domain.com
ServerAdmin [email protected]
DocumentRoot /srv/dev.domain.com
<Directory />
Options All
AllowOverride All
Require all granted
</Directory>
ErrorLog /srv/dev.domain.com/logs/error.log
CustomLog /srv/dev.domain.com/logs/access.log combined
</VirtualHost>
configuração de sites disponíveis para dev2.domain.com...
<VirtualHost *:80>
ServerName dev2.domain.com
ServerAdmin [email protected]
DocumentRoot /srv/dev2.domain.com
<Directory />
Options All
AllowOverride All
Require all granted
</Directory>
ErrorLog /srv/dev2.domain.com/logs/error.log
CustomLog /srv/dev2.domain.com/logs/access.log combined
</VirtualHost>
Configuração de DNS no AWS Route53...
domain.com A 12.34.567.89
dev.domain.com A 12.34.567.89
dev2.domain.com A 12.34.567.89
www.domain.com CNAME domain.com
Acho que as duas coisas em que estou mais preso:
A configuração do Apache entre dev e dev2parecerpara ser idêntico, exceto alterar "dev" -> "dev2" sempre que aplicável
Quando o site está desabilitado no Apache ele não é redirecionado. O redirecionamento só acontece quando o site está habilitado. Isso significa que é Wordpress?
Responder1
Suas configurações do Apache estão todas precisas; seu problema provavelmente é resultado do domínio ser salvo no banco de dados Wordpress. Por padrão, o Wordpress armazena o URL base na tabela wp_options tanto para a página inicial quanto para o URL do site. Além disso, ele armazena o domínio totalmente qualificado em todos os GUIDs de postagem/página individuais na tabela wp_posts.
Opções para localizar e substituir o domínio:
- mais rápido: exporte o banco de dados mysql, abra o dump do banco de dados mysql em um editor de texto e execute a localização global (para domain.com ou dev.domain.com) e substitua por (dev2.domain.com), reimporte.
- use uma consulta sql para localizar e substituir todas as instâncias do domínio antigo pelo novo subdomínio.
Para obter mais informações sobre a migração de um site Wordpress de um domínio para outro, consulte a seção intitulada "Alterando seu nome de domínio e URLs" na páginaMovendo a página do Wordpress Codex