将nginx重写规则转换为IIS7规则?

问题描述 投票:0回答:1

我正在尝试将nginx重写规则转换为IIS7上的web.config。

nginx:

    location /api {
   try_files $uri $uri/ /api/index.php$request_uri;
}
location / {
   try_files $uri $uri/ /index.php;
}
location ~ [^/]\.php(/|$) {
  fastcgi_split_path_info ^(.+?\.php)(/.*)$;
  set $path_info $fastcgi_path_info;
  fastcgi_param PATH_INFO $path_info;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  try_files $fastcgi_script_name =404;
  fastcgi_pass 127.0.0.1:9001;
  fastcgi_index index.php;
  include fastcgi_params;
} 

到目前为止,我仅设法转换了第一位,但是我不知道如何执行第二位。有点用,但是我不知道

的最后一条规则是什么
   <rewrite>
        <rules>
            <rule name="Imported Rule 1" stopProcessing="true">
            <match url="api" ignoreCase="false" />
            <conditions>
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" 
     ignoreCase="false" negate="true" />
                 <add input="{REQUEST_FILENAME}" matchType="IsFile" 
      ignoreCase="false" negate="true" />
            </conditions>
            <action type="Rewrite" url="api/index.php" />
            </rule>
            <rule name="Imported Rule 2" stopProcessing="true">
            <match url="/*" ignoreCase="false" />
            <conditions>
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" 
        ignoreCase="false" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsFile" 
        ignoreCase="false" negate="true" />
            </conditions>
            <action type="Rewrite" url="index.php" />
            </rule>
        </rules>
    </rewrite>
nginx url-rewriting iis-7 web-config rules
1个回答
0
投票

您的最后一条规则是使用Nginx进行PHP快速CGI设置。

在iis中,您可以通过以下链接配置PHP快速CGI:

https://docs.microsoft.com/en-us/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis

如果您不想手动配置此功能,则可以直接启用iis CGI功能。

enter image description here

下载Web平台安装程序。

https://www.microsoft.com/web/downloads/platform.aspx

  • 在Web平台安装程序窗口的顶部,单击产品。
  • 单击框架,然后选择当前版本的PHP。
  • 单击安装。 “ Web平台安装”页面显示PHP的版本及其将要安装的依赖项。
  • 单击我接受。 Web PI将安装PHP软件包。
  • 单击完成。

https://docs.microsoft.com/en-us/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php

© www.soinside.com 2019 - 2024. All rights reserved.