我想发送一个特定页面的www流量一个地方,并发送一个特定页面的非www流量到另一个。我可以找到如何为所有页面执行此操作,但我尝试的任何特定于页面的操作都不起作用。我确保将规则放在htaccess中的WordPress块之前。
RewriteRule ^http://www.example.com/help$ http://example.com/contact [R=301,L]
RewriteRule ^http://example.com/help$ http://example.com/buy [R=301,L]
1条答案
按热度按时间9gm1akwq1#
文档明确指出,
RewriteRule
在请求的URL的 path 上工作,而不是在完整的URL上工作。因此,您需要将该规则与RewriteCond
结合使用,以便评估URL的请求 host:这个例子可以在中央http服务器的主机配置(这是实现这些规则的首选位置)中工作,也可以在 distributed 配置文件(“.htaccess”文件)中工作,该文件必须位于http主机的
DOCUMENT_ROOT
文件夹中。您还需要通过AllowOverride
指令在分布式配置文件中启用此类规则。请参阅文档了解详细信息,这应该始终是您回答问题的第一站。作为典型的开源项目,它具有出色的质量,并提供了很好的示例:
https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond
https://httpd.apache.org/docs/current/mod/core.html#allowoverride
还有一点您的示例使用未加密的
http
协议。那真的是过去的事了。现在任何官方项目都应该使用加密的https
协议。SSL证书是免费的这些天...