.htaccess的IIS重写库
在IIS中,.htaccess的IIS重写库,iis,mod-rewrite,Iis,Mod Rewrite,在IIS中,RewriteBase不起作用。因此,下面的.htaccess规则已转换为IIS web配置。但在IIS中,它给出了400个错误的请求错误。我需要纠正什么 Htaccess规则 RewriteRule api/(.*)$ api.php?request=$1 [QSA,NC,L] IIS转换规则 <rule name="Imported Rule 1" stopProcessing="true"> <match url="api/(.*)$"/>
RewriteBase
不起作用。因此,下面的.htaccess
规则已转换为IIS web配置。但在IIS中,它给出了400个错误的请求错误。我需要纠正什么
Htaccess规则
RewriteRule api/(.*)$ api.php?request=$1 [QSA,NC,L]
IIS转换规则
<rule name="Imported Rule 1" stopProcessing="true">
<match url="api/(.*)$"/>
<action type="Rewrite" url="api.php?request={R:1}" appendQueryString="true"/>
</rule>
假设您的
RewriteBase
指令设置如下:
RewriteBase /subdir
然后,您只需将此“前缀”附加到目标URL的开头(即IIS指令中的RewriteRule
substitution或URL
属性值)。具体来说,它应该只作为相对替换字符串的前缀
例如:
RewriteRule api/(.*)$ /subdir/api.php?request=$1 [QSA,NC,L]
换言之:
<action type="Rewrite" url="/subdir/api.php?request={R:1}" appendQueryString="true"/>
如果设置了RewriteBase/
,则只需使用一个斜杠作为前缀,例如url=“/api.php?request={R:1}”
这就是
RewriteBase
指令所做的一切。当在目录上下文中使用时,它为相对路径替换设置URL前缀。假设您的RewriteBase
指令设置如下:
RewriteBase /subdir
然后,您只需将此“前缀”附加到目标URL的开头(即IIS指令中的RewriteRule
substitution或URL
属性值)。具体来说,它应该只作为相对替换字符串的前缀
例如:
RewriteRule api/(.*)$ /subdir/api.php?request=$1 [QSA,NC,L]
换言之:
<action type="Rewrite" url="/subdir/api.php?request={R:1}" appendQueryString="true"/>
如果设置了RewriteBase/
,则只需使用一个斜杠作为前缀,例如url=“/api.php?request={R:1}”
这就是
RewriteBase
指令所做的一切。当在目录上下文中使用时,它为相对路径替换设置URL前缀。#IIS转换规则启用FRT并读取其内容。您能分享您在URL中传递的内容吗?您启用了追加查询字符串,如果在URL中输入,该字符串将添加查询字符串。另外,请澄清您的具体要求。#IIS转换规则启用FRT并阅读其中所述内容。您能分享您在URL中传递的内容吗?您启用了追加查询字符串,如果在URL中输入,该字符串将添加查询字符串。另外,请澄清您的确切要求。