【问题标题】:htaccess Redirect from folder to external URLhtaccess 从文件夹重定向到外部 URL
【发布时间】:2021-11-02 14:05:14
【问题描述】:

我想设置从 URL domain1.com/c/name1 到 URL abc.domain2.com/ID1 的重定向

在我的根 htaccess 文件中,我尝试了以下重定向语句,但不幸的是它不起作用。

RewriteEngine on
RewriteRule ^/c/name1(/) https://abc.domain2.com/ID1 [R=301,L]

问题可能是,我使用 DNS 设置将 domain1.com 根植到外部 IP 地址,这是我的登录页面平台。

【问题讨论】:

    标签: apache .htaccess redirect


    【解决方案1】:
    RewriteRule ^/c/name1(/) https://abc.domain2.com/ID1 [R=301,L]
    

    RewriteRule pattern 匹配的 URL 路径不以斜杠开头。您还强制使用尾部斜杠,该斜杠不在您的示例 URL 中。

    请尝试以下方法:

    RewriteRule ^c/name1/?$ https://abc.domain2.com/ID1 [R=301,L]
    

    /? 使尾部斜杠成为可选的。

    问题可能是,我使用 DNS 设置将 domain1.com 根植到外部 IP 地址,这是我的登录页面平台。

    我不确定您的意思是什么,但.htaccess 文件必须是domain1.com 解析到的任何位置的根目录。

    【讨论】:

    • 我的 DNS 设置中有一条指向我无法访问的外部 IP 地址的 domain1.com 的 A 记录。因此,这个重写规则是行不通的,对吧?但我也有几个子域,指向我可以访问的根目录中的文件夹。例如。 dl.domain1.com 指向文件夹 /dl。使用 dl.domain1.com 代替 domain1.com 并将重写规则放入子文件夹 dl 中的 htaccess 文件中是否有意义?
    • 如果domain1.com 指向外部服务器,那么这显然是行不通的。如果dl.domain.com 指向本地子目录,那么是的,您可以将规则放在该子目录中并重定向dl.domain.com/c/name1(如果这对 有意义 - 使用不同的主机名?)。但正如我在回答中提到的,URL 路径上的斜杠前缀肯定是一个需要修复的问题。
    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 2011-09-26
    • 2013-11-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    相关资源
    最近更新 更多