Mod_rewrite 规则强制对特定目录使用特定域名

Mod_rewrite 规则强制对特定目录使用特定域名

我想强制对我网站上的特定目录使用不同的主机名/域名。

目前,mainsite.com/directory 中有一个包含多个网页的目录。对于位于该目录中的页面,我希望用户地址栏中的域名更改为 differentsite.com。理想情况下,这些页面似乎位于 differentsite.com 的根级别。

我可以向 WordPress .htaccess 文件添加哪些规则来实现此目的?

答案1

为每个要执行此操作的目录创建以下 3 行代码块。在指令之后执行此操作RewriteEngine on。在此示例中,www.example.com 是要用于目录的域。

RewriteCond %{REQUEST_URI} ^/directory1(.*)
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule .* http://www.example.com%1 [L,R]

测试完成后,将其更改[L,R][L,R=301]表示永久重定向,以提高 SEO 友好度。我还没有开始使用它,因为它会使测试变得复杂,因为它会导致浏览器缓存重定向。

为了使上述操作正常工作,您需要确保服务器配置为监听其他域,并且当访问该域时,使用子文件夹(在本例中为 directory1)的完整路径作为该域的文档根目录。

如果您不知道如何执行此操作并且不介意在 URL 中包含子目录,则请将其他域配置为使用与主域相同的文档根目录,然后使用以下规则:

RewriteCond %{REQUEST_URI} ^/directory1.*
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule .* http://www.example.com%{REQUEST_URI} [L,R]

相关内容