如何使这些.htaccess规则协同工作?

时间:2013-09-27 15:21:25

标签: wordpress .htaccess mod-rewrite

由于超出此问题范围的原因,我需要在我的域的根目录example.com中使用WP。但是,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相关的网址都会通过并返回预期的网页?

0 个答案:

没有答案