使用 .htaccess 重定向到另一个 url 中的 url

Redirect to url within another url using .htaccess

我有问题,我需要将用户重定向到 url 中的 URL。

例如: 当用户访问URL时:api.example.com/redirect/www.google.com

我希望用户被重定向到:www.google.com

我已经尝试了一段时间了,但是没有成功。

您可能正在寻找类似的东西:

主要 http 服务器配置的变体:

RewriteEngine on
RewriteRule ^/redirect/(.+)$ http:// [L,R=301]

.htaccess 样式文件的变体:

RewriteEngine on
RewriteRule ^redirect/(.+)$ http:// [L,R=301]

显然需要重写模块在您的本地 http 服务器中可用。

一般来说,您应该更愿意将此类规则放入主服务器配置中,如果您可以访问它.htaccess 样式文件仅应在您别无选择时使用。原因是这样的文件是出了名的容易出错,难以调试,而且确实会减慢 http 服务器的速度。


一种更可靠的方法是获取 url 的捕获部分并将其作为参数传递给服务器端的脚本。该脚本可以验证该部分,它是否是有效的 "url"(这里为了简单起见...)。并且可能会发出 head 请求以检查目标是否存在并且可用。只有这样它才会重定向。否则它 returns 一个有意义的错误信息。