VirtualHost / .htaccess - redirecionamento de .com para .se / en não funcionando / ignorado (Polylang?)

3

Estou tentando redirecionar domain.com para domain.se/en , mas isso não funcionará. É como se outra reescrita ou redirecionamento estivesse acontecendo com domain.se/sv antes de eu ter a chance . Eu tentei várias configurações do VirtualHosts e .htaccess variants sem sucesso. domain.com usa um registro A que aponta para o mesmo IP que domain.se (domínio principal). Eu suspeito que o plugin do WordPress Polylang pode estar reescrevendo o URL ou causando um redirecionamento antes que eu tenha a chance.

Meu .htacces atualmente é assim:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} .*domain.com.*$
RewriteRule ^(.*)$ http://domain.se/en [L]
</IfModule>
# 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

e minha configuração do VirtualHosts é semelhante a: (Observe que .no e .fi também redirecionam erroneamente para .se/sv )

NameVirtualHost *:80
<VirtualHost *:80>
        ServerName domain.com
        ServerAlias www.domain.com
        RedirectPermanent / http://domain.se/en
</VirtualHost>

<VirtualHost *:80>
        ServerName domain.fi
        ServerAlias www.domain.fi
        RedirectPermanent / http://domain.se/fi
</VirtualHost>

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName domain.se
        ServerAlias www.domain.se
        ServerAlias domain.no
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <Directory /var/www/html>
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

Isso é o que parece na seção Rede de ferramentas do Chrome Dev quando tento ir para domain.com :

Limpei o cache de DNS localmente e no Chrome antes de visitar o domínio.

    
por Jesper Johansson 23.12.2016 / 15:14

1 resposta

0

Eu tive o mesmo problema. WordPress parece ser o culpado neste cabeçalho. Não conheço a estrutura do seu projeto, por isso, gostaria de sugerir duas abordagens para solucionar o problema:

Header always edit Location na sua configuração do VirtualHost requer mod_headers . Isso sempre editará o cabeçalho após qualquer modificação feita pelo aplicativo, ou seja, Zend, WordPress, Spring, etc.

wp_redirect , da resposta , deve ajudar na solução de problemas sem afetar a configuração do servidor. Provavelmente não é a a solução elegante para sua pergunta, mas essa é uma função que você pode usar para depurar o aplicativo.

    
por 23.12.2016 / 17:52