我试图让一个网站使用不同的URL,基本上一个是真实URL(fakesite.com),另一个是品牌URL(NewFakeSite.com)。到目前为止,香港专业教育学院设法得到它的工作,使:当使用URL重写规则时IIS查询字符串丢失
http://fakesite.com/uv/ExpressBranding/ExpressHome.aspx 和 http://NewFakeSite.com/uv/ExpressBranding/ExpressHome.aspx
都去同一个网站,都可以作为网站运行工作。问题就来了与查询字符串,我似乎,所以如果我去一个URL查询字符串希望得到第二个站点沿查询字符串传递:
http://fakesite.com/uv/EnviSetup/Wizard/GeneralInformation.aspx?DashboardId=0
对于第二个站点也无法找到页面,而不是给我:
https://NewFakeSite.com/uv/EnviSetup/Wizard/GeneralInformation.aspx
没有查询字符串在all.As这样我需要添加查询字符串。我的webconfig在下面,它不仅仅是我的代码,所以它的某些部分像HTTP到HTTPS和添加uv不是我写的。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<remove name="Redirect to HTTPS" />
<remove name="Redirect to add uv folder to dotcom" />
<rule name="Redirect to add uv folder to dotcom" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{map add uv after dotcom:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<serverVariables />
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{SERVER_NAME}" pattern="opterra\.esightenergy\.com" negate="true" />
</conditions>
<serverVariables />
<action type="Rewrite" url="https://{HTTP_HOST}/{R:1}" appendQueryString="false" />
</rule>
<rule name="AddQueryStringForENVIDashBoards">
<match url="https://prod.utilityvision.com/uv/EnviSetup/EnviDashboardList.aspx(\?(.*))" />
<action type="Rewrite" url="HTTPS://opterra.esightenergy.com/uv/EnviSetup/Wizard/{C:1}" appendQueryString="false" />
<conditions>
<add input="{URL}" pattern="https://prod.utilityvision.com/uv/EnviSetup/Wizard/(.*)" />
</conditions>
</rule>
</rules>
</rewrite>
<httpRedirect enabled="false" destination="" exactDestination="false" childOnly="false" />
</system.webServer>
</configuration>
任何帮助将不胜感激我是新来的IIS,所以我希望这甚至是可能的。谢谢!
编辑:我试着设置appendQueryString =“True”,但仍然没有Querystring。谢谢mjw。
编辑2:主要目标是让网站显示为不同的东西,然后它最初编程为,问题是查询字符串不会与新网址的其余部分一起提供。我已经添加了一些代码更改,看看是否可以解决问题,但它没有保持相同的URL。上面的代码示例是不是我添加了这个原:
<rule name="AddQueryStringForENVIDashBoards">
<match url="https://prod.utilityvision.com/uv/EnviSetup/EnviDashboardList.aspx(\?(.*))" />
<action type="Rewrite" url="HTTPS://opterra.esightenergy.com/uv/EnviSetup/Wizard/{C:1}" appendQueryString="false" />
<conditions>
<add input="{URL}" pattern="https://prod.utilityvision.com/uv/EnviSetup/Wizard/(.*)" />
</conditions>
</rule>
看起来像你有appendQueryString =“false” - 使这些为真。 – mjw
嘿mjw,我应该早些提到我尝试过。但它实际上并没有改变URL,Querystring仍然缺失。 – vmedhe2