質問: トリッキーなmod_rewriteチャレンジ 私の小さなサイトには約9,000件のレコードがリストされています。現時点では、次のような動的なページでそれらを表示していますhttp://domain.com/records.php?id=019031 しかし、amazonでこのような意味のあるurlを使い始めたいhttp://www.amazon.co.uk/library-mythology-oxford-worlds-classics/dp/0199536325 ルートレベルのタイトル文字列は無視され、リクエストはrecords.phpページにリダイレクトされます。このページは通常どおりidを受け入れます。mod_rewriteでそれを達成する方法を知っている人はいますか?レコードページにリダイレクトしたくないhttp://domain.com/contact.phpなどの他のルートレベルページへのリクエストをどのように処理するのか疑問に思っています。
回答: ルートの.htaccessでこれを試してください:rewriteengine on rewriterule ^[^/]+/(\d+)$ records.php?id=$1 [qsa] http://example.com/foo-bar/42はhttp://example.com/records.php?id=42に書き換えられます^[^/]+/(\d+)$と一致しないため、contact.phpなどのurlには影響しません。