2

对于一个大学项目,我在我的开发服务器(localhost)上使用 php 编写了一个 REST api。我必须编辑 .htaccess 才能工作。内容在这里:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* api.php/$0 [L]

但是部署服务器是 IIS,我不知道如何配置 webconfig 文件。我试图阅读它,但我不知道如何去做。

该服务器位于大学网络上,不会对服务器的主要配置进行任何更改,也不会安装其他库。

如果不能简单地完成,那么我可以访问我自己的托管 Apache 服务器,我可以从中运行它。

我想知道是否有人能够将上述内容转换为我需要的 IIS?

编辑:我花了一些时间阅读更多关于重写的信息,根据我的模块负责人,它在服务器上启用。我试图将规则写入 web.config,这就是我所拥有的:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0"/>
    <customErrors mode="Off"/>
  </system.web>
  <system.webServer>

  </system.webServer>
  <rewrite>
    <rules>
      <rule name="Rewrite to server.php">
        <match url="^([0-9]+)/([_0-9a-z-]+).*" />
        <action type="Rewrite" url="api.php" />
      </rule>
    </rules>
  </rewrite>
</configuration>

但它不工作。

谢谢

4

1 回答 1

1

你不需要一个web.config. 这仅适用于 .Net 项目。您需要使用 IIS 等效于 apache 的mod_rewrite. 这是一篇有助于在 IIS 上配置重写规则的文章。

http://www.iis.net/learn/extensions/url-rewrite-module/using-the-url-rewrite-module

于 2013-03-09T02:20:59.410 回答