使用.htaccess重定向到另一个网址中的网址
问题描述:
我遇到了问题,我需要将用户重定向到网址中的网址。使用.htaccess重定向到另一个网址中的网址
例如: 当用户访问的网址: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”(在这里保持简单......)。也许提出检查目标的头部请求存在并且可用。只有这样它才会重定向。否则它会返回一个有意义的错误消息
这不会在.htaccess中正常工作,因为它不会在每个目录上下文中匹配。删除前导'/'或使其成为可选项。 '^ /?redirect /(.+)$ ...' – 2015-03-08 21:37:14
@PanamaJack你说的确实是对的。感谢您指出了这一点。我相应地修改了答案。 – arkascha 2015-03-08 21:46:15
谢谢,它的工作原理! – 2015-03-08 21:54:53