開発環境で mod_rewrite を使用しています。
このテスト ドメインは、.htaccess ファイルで次のルールを使用しています。
Options +FollowSymLinks
Options +Indexes
RewriteEngine on
# deal with potential pre-rewrite spidered / bookmarked urls
RewriteRule ^clothes/index.php?pg=([0-9]+)$ /clothes/index$1.php [R=301,L]
# deal with actual urls
RewriteRule ^clothes/[0-9a-z-]+-pr([0-9]+).php$ /clothes/product.php?pid=$1 [L]
2番目のルールは正常に機能します。 http://testdomain.dev/clothes/shirt-pr32.php と入力すると、http://testdomain.dev/clothes/product.php?pid=32 からのコンテンツが静かに配信されます ...これは期待どおりです!
ただし、これがライブ サイトに適用されたと仮定すると、元は http://testdomain.dev/clothes/product.php?pid=32 などのパスを使用していたサイトで、古い新しい URL へのパターン ...これが、第 1 のルールが意図していたことです。
私の問題は、テスト サーバーが最初のルールを無視して、要求どおりにページを提供しているように見えることです (ページは読み込まれますが、アドレス バーは http://testdomain.dev/clothes/product.php?pid=32 のままです)。
どんな援助や啓蒙も、最も丁重に受け入れられます!