0

次の RewriteRule があります。

RewriteRule ^/([^?.]+)$ /MyPage.aspx\?Name=$1 [NC,L]

私のURLがhttp://www.somedomain.com/Tonyの場合、これはうまく機能します

次の結果が得られます:/MyPage.aspx?Name=Tonyただし、このタイプの URL で機能するように変更する必要があります: http://www.somedomain.com/MemberPages/Tony

残念ながら、私は正規表現があまり得意ではないので、助けていただければ幸いです。

ありがとうございました、

トニー

4

2 に答える 2

1

オプションで を許可するだけの場合は、次のMemberPages/ようにできます。

RewriteRule ^/(MemberPages\/)?([^?.]+)$ /MyPage.aspx\?Name=$2 [NC,L]

?は、その要素が のような完全なキャプチャ グループであっても、前の要素をオプションで含めることを意味します(MemberPages/)$2次に、追加のキャプチャ グループを考慮して、後方参照を に変更する必要があります。

したがって、このルールは両方の URL で機能します。

http://www.somedomain.com/Tony
http://www.somedomain.com/MemberPages/Tony

両方に行きます:

/MyPage.aspx?Name=Tony
于 2011-01-11T22:25:32.887 に答える
0

これは、任意の第 2 レベルのパスで機​​能します。

RewriteRule ^/[^/]+/([^?.]+)$ /MyPage.aspx\?Name=$1 [NC,L]

これは /MemberPages/ で始まるパスで機能します

RewriteRule ^/MemberPages/([^?.]+)$ /MyPage.aspx\?Name=$1 [NC,L]

于 2011-01-11T22:24:49.490 に答える