mod_rewrite や正規表現はあまり得意ではありませんが、移動するサイトでは最終的に 301 リダイレクトを使用する必要があります。旧サイトの構造はそのまま
http://www.mywebsite.com/FF_Supersneaker_Black_Metallica_p/155-157.htm
同じ製品の新しいサイトはそのままです
https://www.mywebsite.com/FF_Supersneaker_Black_Metallica_p.html
私がする必要があるのは、「/155-157」を抽出して削除し、拡張子を.htmではなく.htmlに変更することです
したがって、論理的には、「/」の最後の出現と「。」の最後の出現を見つける必要があると思います。間のすべての値を "" に変更します。次に、ファイル拡張子の変更はインターネット上のどこにでもありますが、それを残りの部分にどのように組み込むかはわかりません。
編集: ここに私の .htaccess ファイルがあります:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule /(.*)/(.*)/[^/]*.htm$ /$1$2.html
</IfModule>
そして、これを使用しようとしたときの rewritelog の関連エントリです。(IPとドメイン名を変更しただけです.tailを使用して、ページにアクセスしようとしたときにポップアップするエントリをコピーしました.
255.255.255.255 - - [25/Apr/2012:11:57:24 --0400] [www.mywebsite.com/sid#9b25ed8][rid#9e3cc48/initial] (1) [perdir /var/www/test/] pass through /var/www/test/FF_Supersneaker_Black_Metallica_p/155-157.htm
テスト ページに追加のディレクトリがあるため、追加の /(.*) を追加しました。そのための構造は http://www.mywebsite.com/test/FF_Supersneaker_Black_Metallica_p/155-157.htmであり、http://www.mywebsite.com/test/FF_Supersneaker_Black_Metallica_p.html にリダイレクトされ ます。
たくさんの質問をして申し訳ありません。また、書き換えログを有効にするには、apache.conf または httpd.conf ファイルに移動してサーバーを再起動することしかできませんよね? その場合、私には権限がありません。