У меня есть установка для нескольких сайтов, в которой используется такой каталог:
mainsite.com/multisites
И каждый многосайтовый экземпляр в настоящее время настроен со своим URL следующим образом:
mainsite.com/multisites/instance1
mainsite.com/multisites/instance2
mainsite.com/multisites/instance3
Эти экземпляры используют эту версию мультисайта WordPress .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /multisites/
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]
</IfModule>
# END WordPress
Однако , у меня есть один из тех случаев, когда требуется сопоставленный URL-адрес (example.com), и вышеуказанный .htaccess не позволяет отображаемому домену отображать любую страницу, кроме домашней страницы, но если я используйте .htaccess ниже, это исправит сопоставленный сайт, но все другие экземпляры будут перенаправлять неправильно:
# 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
Это исправляет сопоставленный домен, но предотвращает доступ других мультисайтовых экземпляров к каталогу / multisites /.
Как мне заставить instance1 и instance2 (или любые другие) переписать, используя RewriteBase /multisites/
в первой версии .htaccess и example.com (или любых других сопоставленных доменов), при использовании RewriteBase /
, как показано для второго версия .htaccess?