#wordpress #.htaccess #redirect #subdomain #multisite
#WordPress #.htaccess #перенаправление #Поддомен #multisite
Вопрос:
Я пытаюсь сопоставить определенные поддомены на моем WordPress Multisite.
Я успешно сопоставил свои многосайтовые поддомены с их новыми доменами.
Пример:
Store5.domain.com теперь успешно изменен на prodomain.com и все работает нормально, вплоть до одной точки.
Мне нужно сделать так, чтобы все, кто знал о store5.domain.com будет перенаправлен на prodomain.com
У меня есть несколько примеров этого, когда мне нужно будет часто копировать этот код при выполнении этих изменений, поэтому любая помощь в понимании того, как я использую этот код, была бы очень полезна для меня.
Что я могу сделать, чтобы безопасно настроить свой файл .htaccess, чтобы я мог 301 перенаправлять людей из определенного домена (доменов)?
Пример: сейчас не используется: storeX.domain.com 301 постоянное перенаправление на живой prodomain.com
Я не могу выполнить это простым способом, потому что я использую SiteGround, я использую подстановочный поддомен и подстановочный SSL в основном домене для безопасной автоматической защиты SSL-сертификатов для любых вновь добавленных дочерних сайтов.
Из-за подстановочного SSL и из-за наличия подстановочного поддомена я не могу создать основное перенаправление для Store5.domain.com из панели управления, как обычно, и потому, что они являются поддоменами, а не подкаталогами (sub.domain.com / нет domain.com/sub ) Я не могу использовать простое исправление, такое как плагин перенаправления.
Единственным вариантом, который, как я понимаю, будет работать, будет перенаправление с использованием .htaccess .
- Дополнительная цель: в идеале, я хотел бы включить способ сделать так, чтобы, если кто-то посещает store5.domain.com/product/name будут перенаправлены как перенаправление с подстановочным знаком, где не имеет значения, что они ставят после косой черты, первая часть изменится с store5.domain.com чтобы prodomain.com и конец его останется неизменным.*
Мой текущий htaccess выглядит так (у меня нулевой навык написания htaccess):
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*.php)$ $1 [L]
RewriteRule . index.php [L]
AddHandler application/x-httpd-php74 .php .php5 .php4 .php3
Ответ №1:
Как я переписал ядро на .htaccess.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^store5.domain.com [NC]
RewriteRule $ https://newdomain.com/$1 [L,R]
Вот как теперь выглядит мой пример:
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^store5.domain.com [NC]
RewriteRule $ https://domain1.com/$1 [L,R]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^store2.domain.com [NC]
RewriteRule $ https://domain2.com/$1 [L,R]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*.php)$ $1 [L]
RewriteRule . index.php [L]
AddHandler application/x-httpd-php74 .php .php5 .php4 .php3