Iis 7 IIS7的IIRF重写规则

Iis 7 IIS7的IIRF重写规则,iis-7,iirf,Iis 7,Iirf,我使用IIRF v2.1来重写规则 我这样写规则,但它不起作用 RewriteRule ^(prod|pag|staf)/([A-Za-z0-9-]+)/?$ $1.php?iid=$2 [QSA,L] 如果我使用以下url 我需要的实际URL是 是的,工作版本是 重写规则/^(prod | pag | staf)/([A-Za-z0-9-])/?$/$1.php?iid=$2[QSA,L] 但这里的问题是所有的样式和包含文件都不包括在内 谢谢如果你的URL总是包含数字,那么slug,这个

我使用IIRF v2.1来重写规则

我这样写规则,但它不起作用

RewriteRule ^(prod|pag|staf)/([A-Za-z0-9-]+)/?$ $1.php?iid=$2 [QSA,L]
如果我使用以下url

我需要的实际URL是

是的,工作版本是

重写规则/^(prod | pag | staf)/([A-Za-z0-9-])/?$/$1.php?iid=$2[QSA,L] 但这里的问题是所有的样式和包含文件都不包括在内


谢谢

如果你的URL总是包含数字,那么slug,这个正则表达式将得到每个部分:

^(prod|pag|staf)/([0-9]+)/([A-Za-z0-9-]+)/?

您的正则表达式不允许新项跟随最后的斜杠

RewriteRule^(prod | pag | staf)/([A-Za-z0-9-])/?$$1.php?iid=$2[QSA,L]

结束模式的/?$序列显示。。。一条斜线(可能),然后是字符串的结尾。但是,您的URL不会以斜杠结尾。它以斜杠和文本“new item”结尾

一个正则表达式,它可以捕获如下内容:

RewriteRule^(prod | pag | staf)/([A-Za-z0-9-]+)/$1.php?iid=$2[QSA,L]

…也就是说,您不关心可选斜杠后面的内容,因为您使用的是QSA,所以原始URL中的任何查询字符串都会附加到传出URL


但这基本上会丢弃传入URL请求的“newitem”部分,我不确定您是否希望这样做

就这样写url

重写规则^/(产品编号)/([A-Za-z0-9-])/?$/$1.php?iid=$2[QSA,L]

并在样式表和其他附件之前

如果您的旧样式表是这样包含的

   style/style.css
将其更改为

  /style/style.css
图片和链接也一样。
希望这能很好地工作。

您还有其他有效的规则吗?试图缩小它是否与您的规则或IIRF配置相关。对于投票关闭的人来说,这与编程相关,因为这实际上是一个正则表达式问题。我认为这可能更适合serverfault.RewriteRule/^(prod | pag | staf)/([a-Za-z0-9-]+)/?$/$1.php?iid=$2[QSA,L]但这里的问题是所有的样式和包含文件都不包括在内。