我们偶尔会将网站复制到本地环境中进行例行调试等。
这些网站有大量用户生成的媒体 - 特别是图像。为了避免下载所有这些文件,我们有一个简单的重定向规则,因此某个文件夹中返回 404 的任何文件/文件夹都会重定向到生产服务器。
问题
该规则仅应在网站在本地主机上运行时应用。
例如条件:请求是本地主机。
<!-- Handle missing files or folders inside
the /Media directory on Development Environment -->
<rule name="Handle missing media" stopProcessing="true">
<match url="^media/(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<!-- Add Conditions, so local only -->
</conditions>
<action type="Redirect" redirectType="Temporary"
url="http://production.domain/{R:0}" appendQueryString="true" />
</rule>
答案1
我现在没有机器来测试这个,但我猜像这样的附加条件应该可以起作用:
<conditions>
<add input="{REMOTE_ADDR}" pattern="127.0.0.1" />
</conditions>
甚至:
<conditions>
<add input="{REMOTE_HOST}" pattern="localhost" />
</conditions>