2015-03-08 138 views

回答

2

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

变主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”(在这里保持简单......)。也许提出检查目标的头部请求存在并且可用。只有这样它才会重定向。否则它会返回一个有意义的错误消息

+0

这不会在.htaccess中正常工作,因为它不会在每个目录上下文中匹配。删除前导'/'或使其成为可选项。 '^ /?redirect /(.+)$ ...' – 2015-03-08 21:37:14

+1

@PanamaJack你说的确实是对的。感谢您指出了这一点。我相应地修改了答案。 – arkascha 2015-03-08 21:46:15

+0

谢谢,它的工作原理! – 2015-03-08 21:54:53