Windows Server 2008 での「mod の書き換え」のために、IIS7 で Helicon Ape を使用しています。
非常に単純なルール:
RewriteRule ^([^\/]+) /index.php?page=$1 [L,NC]
www.example.com/mypage
これは機能しません。私はいくつかのサイトでこれを経験しました。ただし、既存のサイト (以前は Helicon Ape を使用せずに IIS6 で機能していた上記のルールを使用) を新しいサーバーに転送するという問題が発生したため、それを機能させる必要があります。
正規表現の前に .htaccess に明示的なパラメーターを追加すると、正常に機能します。
RewriteRule ^page/([^\/]+) /index.php?page=$1 [L,NC]
www.example.com/page/mypage
なぜこれが機能し、前の例が機能しないのか理解できませんか?