一致しない (否定) mod_rewrite パターンを機能させるのに問題があります。
以下の例では、すべてのリクエストを「/promo-page」にリダイレクトしたいのですが、リダイレクト ループを許可しないでください (したがって、RewriteCond)。
### Request URL: http://example.com/promo-page ###
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !/promo-page
RewriteRule .* /promo-page [R=302,L]
「/promo-page」のリクエストが行われると、RewriteCond ルールが無視され、リダイレクト ループが発生します。
感嘆符 (!) が機能しない理由はありますか? 構文が間違っていませんか?
前もって感謝します。
アップデート
オンラインの mod_rewrite テスターでもこれらのルールを試してみましたが、うまくいきません (URL として "home" を使用し、REQUEST_URI として "/home" を使用した場合)。