Я пытаюсь перенаправить domain.com
на domain.se/en
, но это не сработает. Как будто еще одна перезапись или перенаправление происходит с domain.se/sv
, прежде чем я получу шанс . Я безуспешно пробовал несколько конфигураций VirtualHosts и вариантов .htaccess
. domain.com
использует запись A, которая указывает на тот же IP-адрес, что и domain.se
(основной домен). Я подозреваю, что плагин WordPress Polylang может переписывать URL-адрес или вызывать перенаправление, прежде чем я получу шанс.
Мой .htacces
в настоящее время выглядит так:
<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
и мои VirtualHosts config выглядит так: (Обратите внимание, что и .no
, и .fi
также ошибочно перенаправляют на .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 admin@domain.com
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>
Вот как это выглядит в разделе «Сеть» инструментов Chrome Dev, когда я пытаюсь перейти на domain.com
:
Я очистил кеш DNS локально и в Chrome перед посещением домена.
У меня была та же проблема. WordPress, похоже, виновен в этом заголовке. Я не знаю структуру вашего проекта, поэтому я бы предложил либо два подхода к решению проблемы:
Header всегда редактирует Location
в вашей конфигурации VirtualHost, требует mod_headers
. Это всегда будет редактировать заголовок после любых изменений, сделанных приложением, т.е. Zend, WordPress, Spring и т.д.
wp_redirect
, из answer, должно помочь в устранении неполадок, не касаясь конфигурации сервера. Возможно, это не элегантное решение вашего вопроса, но это функция, которую вы можете использовать для отладки приложения.