【发布时间】:2015-03-09 05:44:37
【问题描述】:
我有一个问题,我需要将用户重定向到 URL 中的 URL。
例如: 当用户访问网址时:api.example.com/redirect/www.google.com
我希望将用户重定向到:www.google.com
我已经尝试了一段时间,但没有成功。
【问题讨论】:
我有一个问题,我需要将用户重定向到 URL 中的 URL。
例如: 当用户访问网址时:api.example.com/redirect/www.google.com
我希望将用户重定向到:www.google.com
我已经尝试了一段时间,但没有成功。
【问题讨论】:
您可能正在寻找类似的东西:
主要 http 服务器配置的变体:
RewriteEngine on
RewriteRule ^/redirect/(.+)$ http://$1 [L,R=301]
.htaccess 样式文件的变体:
RewriteEngine on
RewriteRule ^redirect/(.+)$ http://$1 [L,R=301]
这显然需要在本地 http 服务器中提供重写模块。
一般来说,您应该更喜欢将这些规则放入主服务器配置中,如果您有权访问它。 .htaccess 样式文件只有在您别无选择时才应使用。原因是这样的文件出了名的容易出错,难以调试并且真的减慢了 http 服务器的速度。
更强大的方法是获取 url 的捕获部分并将其作为参数传递给服务器端的脚本。该脚本可以验证该部分,它是否是一个有效的“url”(为了简单起见......)。并且可能会发出头部请求以检查目标是否存在并且是否可用。只有这样它才会重定向。否则它会返回一个有意义的错误信息。
【讨论】:
/ 或使其成为可选。 ^/?redirect/(.+)$ ...