除了/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]
答案 0 :(得分:0)
您可以将此规则放在RewriteBase
行的下方,以跳过所有规则中的2个目录:
RewriteRule ^(user|admin)(/.*)?$ - [NC,L]