我需要为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>
答案 0 :(得分:0)
我认为这不会起作用重写的url参数是期望URL不是文件系统路径。
如果您无法移动该位置,是否可以在现有网站内创建名为downloads
的虚拟目录,并将其网络根目录指向您的不可移动文件夹C:/repo/other_directory/test/
?然后在您的web.config设置中重写以使用这个新创建的路径~/downloads/download.php
作为重写~/downloads.php
的目的地