0

我试图为在 Windows 服务器上运行的 mod 重写规则编写正则表达式。到目前为止我试过

RewriteRule ^/hcp/(.*)/(.*)$ /delete.aspx?page=$2&root=$1 [NC,L,I]
RewriteRule ^/hcp/(.*)$ /delete.aspx?page=$1&root=$1 [NC,L,I]

RewriteRule ^/hcp/([a-z]|[-])/([a-z]|[-])$ /delete.aspx?page=$2&root=$1 [NC,L,I]
RewriteRule ^/hcp/([a-z]|[-])$ /delete.aspx?page=$1&root=$1 [NC,L,I]

只是为了很好的衡量我刚刚尝试过这个

RewriteRule ^/hcp/(([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ /delete.aspx?page=$2&root=$1 [NC,L,I]
RewriteRule ^/hcp/([a-zA-Z0-9_-]+)$ /delete.aspx?page=$1&root=$1 [NC,L,I]

我试图让它匹配

www.site.com/hcp/parameter

www.site.com/hcp/param1/param2

出于某种原因,它不断将所有内容放入 $1 而没有放入 $2 或者在第二行的情况下,第二个 $1 是空白的,例如

root = page = param1/param2

谢谢

4

1 回答 1

0

试试这个:

RewriteRule ^/hcp/([^/]+)/([^/]+)$ /delete.aspx?page=$2&root=$1 [NC,L,I]
RewriteRule ^/hcp/([^/]+)$ /delete.aspx?page=$1&root=$1 [NC,L,I]

你也需要使用Bflag吗?我不知道重写与 Apache 的相似之处。

于 2012-05-30T13:04:24.920 回答