如何使用htaccess重定向特定域的目录?

时间:2019-01-17 12:40:43

标签: regex apache .htaccess redirect

我有一个类似example.eu/blog的网址,但我想将其重定向到example.com/blog,它必须仅适用于特定域example.eu,因为example.com指向相同的域名服务器和重定向所有域将导致无限循环。现在,我有了以下重定向规则:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.eu/blog$ [NC]
RewriteRule ^(.*)$ https://example.com/blog/$1 [L,QSA,R=301]

我希望它会将博客目录重定向到example.com/blog,但是从不满足该规则。我在这里测试:

https://htaccess.madewithlove.be?share=9953c394-b95b-5e41-8986-9424cae092fe

我用谷歌搜索,但所有示例均未包含​​完整域名或未包含目录名称。

1 个答案:

答案 0 :(得分:1)

HTTP_HOST是请求的“目标主机”。它不包含请求网址,即/blog

尝试一下:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.eu$ [OR,NC]
RewriteCond %{HTTP_HOST} ^www\.example\.eu$ [NC]
RewriteCond %{REQUEST_URI} ^/blog
RewriteRule ^(.*)$ https://example.com/blog/$1 [L,QSA,R=301]

如果您已经使用了www,则可以删除OR和第二个HTTP_HOST条件。