Эксперты HTACCESS: перенаправьте все, кроме как root до одного TLD, перенаправить рут в другой TLD - WordPress
Вопрос
Помощь от гуру ценится.
Мне было предложено поставить домашнюю страницу WordPress клиента на один TLD (i.e. domain.eu), и у всех других страниц / каталогов будет 301 года к другому расширению TLD (i.e. domain.com/everything-else). Не уверен, почему это запрашивается, но, видимо, это важно для клиента, и я ударил мою голову, чтобы она работала. Любые идеи?
<Сильные> Примеры:
Если URL ударит любые корни домена TLD, они должны быть перенаправлены на домен .eu (http://domain.eu/), но все остальное должно идти в домен .com (http://domain.com /)
<Сильные> Корни:
http://domain.com OR
http://domain.net OR
http://domain.edu/index.php OR
http://domain.org/index.html OR
http://domain.* (* = any extension)
.
Однако все остальное необходимо поддерживать структуру каталогов и быть перенаправленным на другой TLD (http://domain.com). Примеры ..
от:
http://domain.net/blog/category
.
http://domain.com/blog/category
.
от:
http://domain.org/blog/category/post
.
http://domain.com/blog/category/post
.
Все, что я пробовал, заканчивается в перенаправленных петель или только частично успешно. Например, ниже перенаправляют над перенаправленными перенаправлениями WordPress, и он правильно перенаправляет в том смысле, что все полученные URL-адреса попадают, но корня (домашняя страница) имеет ошибку контуры перенаправления. Любые мысли?
RewriteEngine On
RewriteBase /
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RedirectMatch ^/$ http://domain.eu
RewriteCond %{REQUEST_URI} !^/$ [NC]
RewriteCond %{HTTP_HOST} ^domain.com.au$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain.eu$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain.de$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
.
Я немного новичок с htaccess, так что дайте мне знать, как я иду через это неправильно, спасибо!
Решение
Попробуйте заменить перенаправить совместно со следующим.
RewriteCond %{HTTP_HOST} !^domain.eu$ [NC]
RewriteRule ^/?$ http://domain.eu/ [R=301,L]
. Другие советы
WordPress перенаправляет любые URL-адреса, которые не соответствуют домену в конфигурации WordPress.Вам либо нужно будет писать плагин WP или использовать прокси, чтобы захватить домашнюю страницу для другого домена.