web.config使用绝对路径

时间:2018-04-13 01:46:59

标签: url-rewriting web-config windows-server-2016

我需要为url(www.example.org/download.php)使用重写规则来命中另一个名为download.php的文件,该文件不在我的根目录中,而是位于C:/ repo / other_directory中/test/download.php,然而,它不起作用。我必须在规则中使用绝对路径。任何有关这方面的帮助将不胜感激。我的代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule placestoswim" stopProcessing="true">
                    <match url="download.php" ignoreCase="false" />
                    <action type="Rewrite" url="C:/repo/other_directory/test/download.php" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

1 个答案:

答案 0 :(得分:0)

我认为这不会起作用重写的url参数是期望URL不是文件系统路径。

如果您无法移动该位置,是否可以在现有网站内创建名为downloads的虚拟目录,并将其网络根目录指向您的不可移动文件夹C:/repo/other_directory/test/?然后在您的web.config设置中重写以使用这个新创建的路径~/downloads/download.php作为重写~/downloads.php的目的地