2011-01-13 12 views
0

ich folgende Rewrite URL bin mit:Rewrite URL, regex Hilfe

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

, die für meine Anwendung funktioniert gut, aber ich muss es nur wirken auf Text beschränken, die keinen Dateinamen enthält ... zum Beispiel, wenn ich die URL www.somedomain.com/SomeName es funktioniert gut, aber es auch feuert, wenn ich www.somedomain.com/TestPage.aspx

Also ich bin mir nicht sicher, ob ich eine zusätzliche Rewtire brauche Regel, oder wenn die aktuelle geändert werden kann, um beispielsweise Text mit einer Erweiterung zu verbieten.

Jede Hilfe mit diesem regulären Ausdruck würde sehr geschätzt werden.

Antwort

1

versucht diese vor der Rewrite-Regel hinzufügen:

RewriteCond %{REQUEST_FILENAME} !-f 

diese Bedingung zu überprüfen, ob die angeforderte Datei vorhanden ist, und gibt true zurück, wenn es nicht (wie es mit einem negiert wird!).

, wenn Sie nicht brauchen auch die Regel Feuer für die Verzeichnisse, dann fügen Sie auch diese Zeile:

RewriteCond %{REQUEST_FILENAME} !-d 
+0

, die nicht zur Arbeit erschien, was ich brauche, ist die folgende: Wenn diese eingegeben wird: www. somedomain.com/SomeUser Das Ergebnis wäre: www.somedomain.com/MemberPages/OrderSupplies.aspx?Name=SomeUser Wenn diese eingegeben wird: www.somedomain.com/Default.aspx Das Ergebnis würde be: www.somedomain.com/Default .aspx – LilMoke