由于超出此问题范围的原因,我需要将 WP 放在我的域的根目录中,example.com
. 但是,example.com
已经映射到我的实时站点,该站点实际上存储在子目录中example.com/livesite
。目前我正在使用 .htaccess 指向Example.com
该子目录;但是,WP 有自己的一组 .htaccess 规则,如果我包含它们,它们会搞砸重定向。但是,这些规则是 WP 工作所必需的,因为我正在使用多站点安装,并且如果没有适当的 .htaccess 规则,子站点将无法访问。
我目前正在使用的 .htaccess:
RewriteEngine on
RewriteRule ^(wp-(content|admin|includes)|site1|site2|site3) - [L]
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/example/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /example/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ example/index.php [L]
我需要安全地集成到该 .htaccess 中:
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]
到目前为止,我最接近让这两者一起工作的是我目前使用的 .htaccess 的第二行;然而,我所做的只是让我访问主 WP 博客的管理端。其他博客仍然无法访问。
如何整合这两个 .htaccess 规则,以便example.com
仍然指向example.com/livesite
,并且所有与 WP 相关的 URL 都将通过并返回预期的页面?