现在我正在尝试为RESTful api执行重定向。我在IIS上使用PHP。现在我正在努力将以下内容转换为Web配置中的XML。
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^api/([a-zA-Z_-]*)$ api.php?name=$1 [NC,L]
会翻译成?
<rewrite>
<rules>
<rule name="api_test_redirect" stopProcessing="true">
<match url="^api/([a-zA-Z_]*)$" />
<action type="Rewrite" url="api.php?name={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
我尝试访问api时遇到404错误。
TL; DR index.com/api/data
应更改为index.com/api?name=data
,但它无效
编辑:我也尝试通过网址重写添加它,但似乎没有进行任何更改。
答案 0 :(得分:0)
所以问题的解决方案是我需要包含相对于根目录的整个路径
<rewrite>
<rules>
<rule name="api_test_redirect" stopProcessing="true">
<match url="^path/to/from/root/api/([a-zA-Z_]*)$" />
<action type="Rewrite" url="path/to/from/root/api.php?name={R:1}" appendQueryString="true" />
</rule>
</rules>