我尝试了各种正则表达式(^/$
, ^index.php$
, ^$
)来重写/代理 WordPress 网站的主页.htaccess
。作为记录,我已经加载了适当的模块来完成此操作,并且可以使用特定的正则表达式为其他路径执行此操作,但不是主页。其他答案已经表明^$
并且^/$
会起作用,但它对我不起作用。怎么可能只定位到主页?
RewriteEngine On
RewriteBase /
RewriteRule ^$ http://some-other-domain.com [P]
最终目标是只为主页提供来自另一个网站的页面。也许有更好的方法?
.htaccess
在文件顶部的WordPress 前端控制器之前尝试类似以下的操作:这里不需要
RewriteBase
and指令。RewriteEngine
大概后面已经作为代码块的RewriteEngine
一部分出现在文件中# BEGIN WordPress
(顺序并不重要)。请注意替换字符串上的斜杠后缀。这是 URL 的必需部分(不能有空的 URL 路径)。如果您在此处省略它,那么以后必须有其他东西“修复”它。在外部重定向的情况下,浏览器会“修复”它,但这里没有“浏览器”。
这匹配空 URL 路径和
index.php
(如果 mod_dir在mod_rewrite 通过 mod_proxy 发送请求之前发出目录索引的子请求)。在这种情况下,检查REDIRECT_STATUS
env var 的条件是必要的,以避免代理所有内容,因为 WordPress 前端控制器将所有内容重写为index.php
. 该条件确保仅匹配直接请求,而不是重写请求。旁白:类似的
RewriteRule
模式^/$
永远不会在.htaccess
上下文中匹配。这仅在该指令用于服务器(或虚拟主机)上下文时才有效。