【问题标题】:How can I redirect directory using htaccess for specific domain?如何使用 htaccess 为特定域重定向目录?
【发布时间】:2019-01-17 12:40:43
【问题描述】:

我有一个类似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

我用谷歌搜索,但所有示例都没有包含完整的域名或没有包含目录名称。

【问题讨论】:

    标签: regex apache .htaccess redirect


    【解决方案1】:

    HTTP_HOST 是请求的“目标主机”。它不包含请求 URL,即/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 和 scond HTTP_HOST 条件。

    【讨论】:

    • 是的,这就是我所需要的!非常感谢,这是一个正确的答案。
    猜你喜欢
    • 2015-10-22
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 2019-12-15
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多