.htaccess静默根到子目录重映射

时间:2014-11-06 17:33:47

标签: wordpress .htaccess redirect

除了/user//admin/之外,我需要以静默方式将所有根域请求重新映射到子文件夹。我在我的根域下有自定义代码,并且想要另外安装WordPress,这也应该在根域下可用。

我的htaccess看起来像这样:

Options FollowSymLinks

RewriteEngine On
RewriteBase /

SetEnvIf Request_URI  ^(.*)$       section=public
SetEnvIf Request_URI  ^/user/.*$   section=user
SetEnvIf Request_URI  ^/admin/.*$  section=admin

# Link to WordPress
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{ENV:section} public

# ... How do I map to a subdirectory from here? ... #

更新

我遇到了以下代码,它几乎像我需要的那样工作,但是如果wordpress中不存在该文件,它会重新回复我的代码。

# Link public to WordPress
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{ENV:section} public
RewriteCond %{REQUEST_URI} !^/wordpress/
RewriteRule ^(.*)$ /wordpress/$1

# Link public to WordPress root folder
RewriteCond %{ENV:section} public
RewriteRule ^(/)?$ wordpress/index.php [L]

1 个答案:

答案 0 :(得分:0)

您可以将此规则放在RewriteBase行的下方,以跳过所有规则中的2个目录:

RewriteRule ^(user|admin)(/.*)?$ - [NC,L]