我正在寻找一些建议,以处理我需要使用apache创建的非标准重写设置。
我有一个针对该站点的自定义cms客户端,但是他们在只有wp-admin可见的域根目录上也有wordpress多站点设置。
多站点是子域的,这不是问题。文件夹结构如下:
/ index.php <<自定义cms条目 ... wordpress / << WordPress安装的根目录 wp-admin / wp-includes / index.php .htaccess
在根域上,如果URL包含(wp- * | my-account),我想将其重写为“ wordpress”文件夹,而不会影响url。
如果wordpress安装中的.htaccess继续正常运行,那也很好。
我尝试过:
RewriteCond %{REQUEST_URI} ^wp-admin/
RewriteCond %{REQUEST_URI} ^wp-includes/
RewriteCond %{REQUEST_URI} ^my-account/
RewriteCond %{REQUEST_URI} ^wp-login.php
RewriteCond %{REQUEST_URI} ^wp-signup.php
RewriteRule (.*) /wordpress/$1 [L]
我也尝试过:
RewriteRule ^/?my-account/(.*)$ wordpress/$1 [L,NC]
RewriteRule ^/?wp-admin/(.*)$ wordpress/wp-admin/$1 [L,NC]
RewriteRule ^/?wp-includes/(.*)$ wordpress/wp-includes/$1 [L,NC]
RewriteRule ^/?wp-login.php wordpress/wp-login.php [L,NC]
我似乎无法让他们中的任何一个工作(在此处找到答案的两个变体),并且我非常确定这是我所知而不是不可能的事情。有什么想法吗?
答案 0 :(得分:0)
这根本没有经过测试,但是应该可以工作:
# Pass any url beginning with wp- or my-account to wordpress
RewriteRule ^(wp-.*|my-account/?$) wordpress/$0
在wordpress .htaccess
中,您必须将RewriteBase /
更改为RewriteBase /wordpress/
。
但是,如果您的永久链接不符合此规则,则它们将被破坏。