Htaccess для Wordpess, установленного на одном субдомене

ситуация

  • У меня есть стандартный хостинг в OVH (а не VPS), и я могу установить на него множество сайтов в разных подкаталогах,
  • Я хотел бы установить 2 экземпляра WordPress – сначала в каталоге /A и secend в каталоге /B
  • Я бы хотел, чтобы «A» использовал domain.com и «B» для использования subdomain.domain.com

Вопрос

  • В этом случае мне нужно использовать стандартную конфигурацию .htaccess для WordPress для одного домена в каждом каталоге WordPress или мне нужно использовать специальную конфигурацию для поддомена в каждом каталоге 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> 

SubDomain

 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] 
  • или, может быть, следует использовать версию подкаталога .httaccess ?

пОДПАПКА

 RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L] 

Solutions Collecting From Web of "Htaccess для Wordpess, установленного на одном субдомене"

Мое предложение: использовать ту же стандартную конфигурацию .htaccess для WordPress для одного домена в каждом каталоге 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> 

Наряду с этим добавьте небольшой КОД, чтобы пользователи перенаправлялись в правильный домен, если они попадают в этот подкаталог с использованием другого домена:

 RewriteCond %{HTTP_HOST} !^domain\.com$ RewriteRule ^(.*)$ "https://domain.com/$1" [R=301,L] 

После этого ваш .htaccess для domain.com будет выглядеть так:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^domain\.com$ RewriteRule ^(.*)$ "https://domain.com/$1" [R=301,L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 

и для subdomain.domain.com это будет выглядеть так:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^subdomain\.domain\.com$ RewriteRule ^(.*)$ "https://subdomain.domain.com/$1" [R=301,L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 

Причины:

  1. Рекомендуется использовать стандартный CODE, потому что его легче поддерживать и отлаживать, так же как и везде.

  2. Дополнительные две линии рекомендуются в основном для SEO . Без них один из ваших доменов может быть доступен с использованием другого домена. Это может вызвать некоторый вопрос о дублировании контента.