.htaccess使用查询参数重写代理

时间:2013-12-09 16:20:22

标签: regex apache .htaccess mod-rewrite

某些正则表达式/ htaccess向导可以帮助吗?我正在寻找重写规则

  • 支持子域名
  • 通过代理(不是301)行事
  • 传递任意数量的查询参数(如果存在)

这就是代理那个:

  • www.domain.com - > www.otherdomain.com
  • dev.domain.com - > dev.otherdomain.com
  • www.domain.com?thing=123 - > www.otherdomain.com?thing=123
  • dev.domain.com?thing=123&otherthing=abc - > dev.otherdomain.com?thing=123&otherthing=abc

拥抱

1 个答案:

答案 0 :(得分:0)

假设mod_proxywww.domain.com上启用了dev.domain.com且两个域都使用相同的DOCUMENT_ROOT

将此代码放入DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteRule ^ http://otherdomain.com%{REQUEST_URI} [P,L,NE]

RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$ [NC]
RewriteRule ^ http://%1.otherdomain.com%{REQUEST_URI} [P,L,NE]

QUERY_STRING自动转移到新目的地。