我需要设置规则,以推动用户从一个子域,如果在一个文件夹下的另一个。我得走了
至
这行得通!
但我需要重写下面的东西
至
但事实并非如此,事实上,除了
需要将重定向写到
我几乎有它,但是store.admin.domain.edu通过下面的规则重写了devstore.domain.edu,因为它没有被捕获。我不能在下面的规则中放任何东西,它是生成的。
<!-- RULES TO PUSH ADMIN TO SUBDOMAIN -->
<rule name="admin" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="store.admin.domain.edu" negate="true" />
<add input="{URL}" pattern="^(.*?)/admin(.*?)" />
</conditions>
<action type="Redirect" url="http://store.admin.domain.edu/admin" appendQueryString="false" redirectType="Permanent" />
</rule>
<rule name="admin_rooted" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="store.admin.domain.edu" />
<add input="{URL}" pattern="^/(api|oauth_authorize|media|skin|js)" negate="true" />
<add input="{URL}" pattern="^admin*" negate="true" />
<add input="{REQUEST_URI}" pattern="^index.php/admin/*" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Redirect" url="http://store.admin.domain.edu/admin" appendQueryString="false" redirectType="Permanent" />
</rule>
<!-- END OF RULES TO PUSH ADMIN TO SUBDOMAIN -->
<!-- rules that are generated -->
<rule name="default_store">
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{SERVER_NAME}" pattern="^devstore\.domain\.edu*" />
</conditions>
<serverVariables>
<set name="HTTP_X_MAGE_RUN_CODE" value="base" replace="true" />
<set name="HTTP_X_MAGE_RUN_TYPE" value="website" replace="true" />
</serverVariables>
<action type="None" />
</rule>
<rule name="general_rewrite">
<match url="(.*)" />
<action type="Rewrite" url="index.php" />
<conditions>
<add input="{URL}" pattern="^/(media|skin|js)/" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
</rule>发布于 2013-08-10 22:49:02
我改变了你的2条规则,使它们变得更简单:
<rule name="admin" stopProcessing="true">
<match url="^admin" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^store.admin.domain.edu$" negate="true" />
</conditions>
<action type="Redirect" url="http://store.admin.domain.edu/admin" appendQueryString="false" redirectType="Permanent" />
</rule>
<rule name="admin_rooted" stopProcessing="true">
<match url="^(api|oauth_authorize|media|skin|js|admin|index.php/admin/)" ignoreCase="true" negate="true" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^store.admin.domain.edu$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Redirect" url="http://store.admin.domain.edu/admin" appendQueryString="false" redirectType="Permanent" />
</rule>第一条规则将重定向以admin开头的任何url,而不是指向主机store.admin.domain.edu到http://store.admin.domain.edu/admin。
第二个url将重定向任何不以on开头的url,如出现以下情况:api或oauth_authorize或media或skin或js或admin或index.php/admin/,指向主机store.admin.domain.edu,而不是指向文件或目录到http://store.admin.domain.edu/admin的路径。
https://stackoverflow.com/questions/18030412
复制相似问题