migratetoflarum / redirects
重定向 Flarum 的 URL
Requires
- php: >=7.0
- flarum/core: ^0.1.0-beta.7
Requires (Dev)
- phpunit/phpunit: ^6.5
This package is auto-updated.
Last update: 2020-02-01 16:31:44 UTC
README
此扩展允许您配置 Flarum 的重定向。即将推出更多设置。
安装
此扩展需要 PHP7 或更高版本
使用 Bazaar 或手动安装
composer require migratetoflarum/redirects
更新
composer update migratetoflarum/redirects php flarum cache:clear
文档
您可以配置触发重定向的规则。规则有以下设置
名称 | 默认值 | 描述 |
---|---|---|
条件 | 将与当前请求匹配的模式。您可以指定完整的 URI 或其中的一部分。您可以包括协议、主机名、端口、路径和查询字符串。您可以在子域、路径或查询字符串的部分插入通配符 * 。通配符不匹配 . 或 / ,因此不能匹配完整的域名或完整路径。查询字符串是单独匹配的,即使它们在实际请求中的顺序不同。请求中存在但不在条件中的查询参数将被忽略,并且不会使规则失败。如果您没有指定主机,最好始终以 / 开始路径,以防止规则混淆主机和路径。 |
|
重定向到 | 要重定向到的 URL。在 条件 中匹配的通配符值可以用作 $1 、$2 等。特殊值 $scheme 、$host 和 $path 将替换为从原始请求中提取的值($scheme 是 http 或 https ,$path 包括起始 / ) |
|
覆盖 Flarum | 否 | 默认情况下,规则仅在 Flarum 遇到 404 错误时运行,以防止渲染非规则路由时减慢论坛速度。但如果您的规则也匹配 Flarum 或扩展定义的路由,则需要启用此选项以在每次请求上运行规则。请小心,因为如果您匹配登录或管理路由,您可能会将自己锁定在论坛之外! |
重定向是外部链接 | 否 | 默认情况下,重定向到 的值将 Flarum 基础 URL 预先附加到它。这是一个安全功能,可以防止一些不希望的重定向。但如果您有意使用不同的主机名作为重定向,则需要启用此选项,以便将您的输入用作重定向的 Location 值 |
重定向类型 | 301 | 选择要随重定向发送的 HTTP 状态码。301 表示永久重定向,将被浏览器和搜索引擎缓存。302 是临时重定向,不会由浏览器缓存,通常对搜索引擎没有意义。在测试设置时使用 302 更容易,因为如果出错,您不需要清除浏览器缓存。 |
启用规则 | 正如其名所示,这允许您激活或禁用一条规则。只有在设置了 条件 和 重定向到 值之后,才能激活一条规则。 |
请注意,在 Flarum beta7 中,任何以 /admin
开头的规则仅适用于具有管理权限的用户,因为重定向脚本在 auth 检查之前无法运行。
您只能重定向解析到您的 Flarum 安装的域名的 URL。如果您想管理来自其他域的重定向,请检查您的托管仪表板或 Web 服务器文档,了解如何添加别名。
缓存
规则列表保存到缓存中,因此在运行时不需要额外的数据库查询。
每次您在管理面板中编辑规则时,此列表都会被清除。如果规则没有更新,您可以尝试运行 php flarum cache:clear
来清除整个缓存。
示例
条件:
example.com
匹配 https://example.com/
、https://example.com/tags
、http://example.com/?forum=1
不匹配 https://forum.example.com/
、https://example.net/
条件:
https://*.example.com
匹配 https://forum.example.com/
、https://www.example.com/forum
不匹配 https://example.com/
、http://test.example.com/
条件:
example.com/
匹配 https://example.com/
不匹配 https://example.com/tags
条件:
/forum
匹配 https://www.example.com/forum
、https://example.net/forum
不匹配 https://example.com/admin
真实示例
将论坛重定向到 HTTPS
您需要为此规则启用 覆盖 Flarum。
- 条件:
http://example.com
- 重定向到:
$path
(或启用 重定向是外部 时使用https://$host$path
,以保持在子域名上,即使它与 Flarum 配置中的不同)
从 www 重定向到 apex
您需要为此规则启用 覆盖 Flarum。
- 条件:
www.example.com
- 重定向到:
$path
(或启用 重定向是外部 时使用$scheme://exemple.com$path
,以重定向到与 Flarum 配置中的不同的域名)
将旧论坛首页重定向到 Flarum
- 条件:
/forum
- 重定向到:
/
- 条件:
/index.php
- 重定向到:
/
从旧论坛重定向讨论
- 条件:
/index.php?discussion=*
- 重定向到:
/d/$1
将未知讨论重定向到首页
- 条件:
/d/*
(禁用 覆盖 Flarum,否则任何讨论都将被重定向) - 重定向到:
/
Rickroll 每个管理员(包括您自己)
您需要为此规则启用 覆盖 Flarum 和 重定向是外部。
- 条件:
/admin
- 重定向到:
https://www.youtube.com/watch?v=dQw4w9WgXcQ
PS:如果您还没有猜到,这将锁定您退出管理面板。您需要编辑/删除 Flarum 数据库中的 migratetoflarum-redirects.rules
设置,以恢复对管理面板的访问。
迁移到Flarum扩展
这是一个由迁移到Flarum开发的免费扩展,迁移到Flarum是一个在线论坛迁移工具(即将推出)。关注我们的Twitter获取更新 https://twitter.com/MigrateToFlarum
需要定制Flarum扩展吗? 联系Clark Winkelmann!