nginx是否将规则重写为IIS7规则?
我正在尝试将nginx重写规则转换为IIS7上的web.config nginx:nginx是否将规则重写为IIS7规则?,nginx,url-rewriting,iis-7,web-config,rules,Nginx,Url Rewriting,Iis 7,Web Config,Rules,我正在尝试将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 $pat
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进行PHP快速CGI设置 在iis中,您可以通过以下链接配置PHP fast CGI: 如果您不想手动配置此功能,可以直接启用iis CGI功能 下载web平台安装程序
- 在Web平台安装程序窗口的顶部,单击产品
- 单击框架,然后选择PHP的当前版本
- 单击安装。Web平台安装页面显示将要安装的PHP版本及其依赖项
- 单击“我接受”。WebPI安装PHP包
- 单击Finish