外部服务器(我将其称为“sub.origin.edu”)将所有流量重定向到我的网页。我想从该主机获取所有流量,并将其重定向到其他站点(我称之为“http://foo.target.edu/board/”)。
我的.htaccess文件是:
RewriteEngine On
RewriteCond ${HTTP_HOST} sub\.origin\.edu [NC]
RewriteRule ^(.*)$ http://foo.target.edu/board/ [R=302]
这似乎不起作用。我已经确认(使用PHP)主机确实是sub.origin.edu,并且.htaccess文件位于正确的目录中,但此规则不会生效。有什么建议?感谢。
(如果我删除了RewriteCond,重定向就会发生,所以我可以确认除重写条件之外的所有内容都有效。)
答案 0 :(得分:7)
使用此:
RewriteEngine On
RewriteCond %{HTTP_HOST} sub\.origin\.edu [NC]
RewriteRule ^(.*)$ http://foo.target.edu/board$1 [R=302]
您使用了错误的替代字符($
而不是%
)
答案 1 :(得分:0)
如果sub.origin.edu正在进行3xx重定向,则浏览器将使用your.server.edu作为主机名向您的服务器发出新请求。所以这条规则永远不会与之匹敌。如果是这种情况,就没有简单的方法来判断请求的重定向位置。
如果他们使用CNAME,Femi会有正确答案。