.htaccess 和重定向

问题描述

我在 NethServer-7.9 上安装了 Matrix-Synapse,一切正常。我写了一份描述安装的文档:https://www.micronator.org/affaires/produit/nethserver-701-cahier-01-nethserver-matrix-synapse/

  • => example.org
  • 子域中的元素 => element.example.org
  • Riot (怀旧) 在子域 => riot.example.org
  • Matrix-Synapse 登录家庭服务器 => chat.example.org

访问网站:

  • Element => element.example.org
  • Riot => riot.example.org

我有一个 Matrix Federation 的 json 文件来识别我的站点 => example.org/.well-kNown/matrix/server

我使用文件 => example.org/index.html 将所有其他访问(Riot 除外)重定向认客户端,即 Element

<script>
  window.location.href = "https://element.example.org"
</script>

但是,由于我使用 index.html 进行重定向,因此我不能将此文件用于其他任何用途,例如:网站的文本说明和 Matrix 的基础知识-突触

我想使用 .htaccess 而不是 index.html 进行重定向

  1. https://element.example.org/.well-known/matrix/server -> https://example.org/.well-known/matrix/server
  2. https://chat.example.org/ -> https://element.example.org
  3. https://www.chat.example.org/ -> https://element.example.org

这是仅有的三个应该重定向链接,因为 Element 和 Riot 会被 httpd 中的 .conf 文件自动重定向

2 和 3 如果有人想通过使用 [www.]chat.example.org 作为显示登录家庭服务器来访问 Matrix-Synapse chat.example.org

我一直在谷歌搜索和研究 .htaccess、PCRE regex、RewriteCond、RewriteRule 等...几天没有成功。

第一次重定向的示例。工作正常,但如果我为其他两个重定向添加规则,它将不再起作用。我使用 R=302 仅用于测试,当一切正常时我将更改为 R=301。

RewriteCond %{HTTP_HOST} well-kNown/matrix/server\/*?$
RewriteRule ^(.*)$ "https://example.org/.well-kNown/matrix/server" [R=302,L]

对于其他两个重定向,没有任何作用。

对于 3 次重定向的任何建议将不胜感激。

米歇尔-安德烈

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)