使用Intelligencia.UrlRewriter来伪造子域名

时间:2014-01-13 20:43:05

标签: asp.net regex

我正在尝试使用“Intelligencia.UrlRewriter”将网址重写为具有特定查询字符串到子域的网页

例如,我想将“http://www.silahsahibi.com/subengine.aspx?u=alussilah”重写为“http://alussilah.silahsahibi.com/

这是我在web.config文件中的“rewriter”标记

<rewriter>
  <unless header="HTTP_HOST" match="^((www)\.)?silahsahibi.(.+)$">
  <if header="HTTP_HOST" match="^(.*)\.silahsahibi\.([^/]+)$">
    <set property="subdomain" value="$1" />
    <!--<set property="category" value="$2" />
    <rewrite url="^/(\?(.+))?$\?(.+)" to="/SubEngine.aspx?u=${subdomain}&amp;c=${category}" processing="stop"/>-->
    <rewrite url="^/(\?(.+))?$" to="/SubEngine.aspx?u=${subdomain}" processing="stop" />
  </if>
</unless>
</rewriter>

但这不起作用。

我不熟悉正则表达式,所以有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

更改此部分:

<rewrite url="^/(\?(.+))?$" to="/SubEngine.aspx?u=${subdomain}" processing="stop" />

应该是

<rewrite url="/(\?(.+))?$" to="/SubEngine.aspx?u=${subdomain}" processing="stop" />