您可以加载一个包含重写规则的文件,如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules configSource="rewrites\site1.config" />
</rewrite>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>
并在文件夹/重写中找到包含(例如)
的文件site1.config<?xml version="1.0" encoding="utf-8"?>
<rules>
<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="student_store">
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{SERVER_NAME}" pattern="^studentstore\.domain\.edu*" />
</conditions>
<serverVariables>
<set name="HTTP_X_MAGE_RUN_CODE" value="studentstore" />
<set name="HTTP_X_MAGE_RUN_TYPE" value="website" />
</serverVariables>
<action type="None" />
</rule>
<rule name="test_store">
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{SERVER_NAME}" pattern="^teststore\.domain\.edu*" />
</conditions>
<serverVariables>
<set name="HTTP_X_MAGE_RUN_CODE" value="teststore" />
<set name="HTTP_X_MAGE_RUN_TYPE" value="website" />
</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>
</rules>
我想在这里做什么,因为我想自动化网站创建过程,就是想到每个人都有一个文件。所以我有例如
我可以拿起文件。我确实试过这个
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules configSource="rewrites\*.config" />
</rewrite>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>
但它不起作用。我试图逃避*作为\ *只是因为通配符*存在一些问题。这没有改变。所以问题是如何在没有硬编码路径的情况下获取这些文件/
这里还有一个次要问题,我相信我知道答案。是否有任何理由从重写文件夹加载大约10-30个配置文件是不好的。我相信答案是,只有第一次刷新web.config存储在内存中。换句话说,第一个用户是为加载一些文件付出代价的用户。这是对主要问题的假设,但是对吗?
干杯 - 杰里米