htaccess ファイルにいくつかの書き換えルールを追加しようとしていますが、いくつかの点で少し問題があります。
私は現在、次の設定をしています (ビットは異なるサイトからのものなので、一貫性がない場合は申し訳ありません!):
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /search\.php\?part=([^&]+)\ HTTP/
RewriteRule ^search\.php$ http://test.dev/part/%1? [R=301,L]
RewriteRule ^part/(.+)$ /search.php?part=$1 [L]
これにより、 test.dev/search.php? part=foo に移動でき、URL を test.dev/part/fooに書き換え/リダイレクトします。これは正常に機能し、正しいコンテンツが表示されます。
ただし、test.dev/search.php?part=foo,bar に移動することもでき、URL をtest.dev/part/foo,barに書き換え/リダイレクトします- これは正しいコンテンツを表示しますが、そうではありませんURLをどのように見せたいか。
'part' の後の URL の内容を考慮し、カンマが見つかった場合はカンマとその後を削除する方法はありますか?
コードで「foo」と「bar」を読み取って、これら 2 つのオプションの正しいコンテンツを表示する必要がありますが、URL でtest.dev/part/fooを表示する必要があります(foo はurl)。