IIS6 仮想ディレクトリへの Helicon リダイレクト - .htaccess 構文と場所
-
12-09-2019 - |
質問
IIS 6 Web サーバー上の物理フォルダー (/blog/) にあったブログを、BlogEngine.net を実行している同じ名前 (ブログ) という仮想ディレクトリに移動します。仮想ディレクトリは、BlogEngine.net と同じアプリケーション プールで実行されています。親ウェブサイト。
各 .html 投稿を新しい BlogEngine.net URL にリダイレクトしたいと考えています。例えば
http://www.mywebsite.co.uk/blog/2009/06/old-blog-title.html に http://www.mywebsite.co.uk/blog/post/new-blog-title.aspx
私の Web サイトではすでに Helicon ISAPI Rewrite バージョン 3.1.0.58 が実行されており、現在リダイレクトは正常に機能しています。ただし、ブログの仮想ディレクトリへのリダイレクトは機能していないようです。
現在の .htaccess ルール:
#rewriterule ^blog/2009/06/old-blog-title.html$ /blog/post/new-blog-title.aspx [R=301,L]
質問1: .htaccess ルールをブログの Virual Directory ルートまたはメイン Web サイトのルートに追加する必要がありますか?
質問2: 仮想ディレクトリにリダイレクトするにはどのような .htaccess 構文を使用すればよいですか?
よろしくお願いいたします。
解決
返事はありませんでしたが、なんとか自分で解決できました。そのlolのためのスタックフローバッジはありますか:-)私は自分の質問に答えて、他の人が同じ問題を抱えているからです。
質問1の答え
.htaccess ファイルは仮想ディレクトリのルートに配置する必要がありますが、IIS 6 では、.htaccess ファイルを /blog/ という物理ディレクトリに保存する必要があるため、仮想ディレクトリの [Helicon Rewrite] タブでこれを編集することはできません。仮想ディレクトリよりも。
質問 2 の答え
仮想ディレクトリ内の .htaccess ファイルの場所により、書き換えを少し修正する必要がありました。基本的に古い URL の先頭から blog/ を削除します。
rewriterule ^2009/06/old-blog-title.html$ /blog/post/new-blog-title.aspx [R=301,L]
他のヒント
いくつかのブログ記事をリダイレクトする必要がある場合は、このルールで問題ありませんが、数百ものブログ記事がある場合は、ISAPI_Rewrite のマップファイル機能を確認したほうがよいでしょう。 ここ.
ただし、仮想ディレクトリの IIS 6 の [Helicon Rewrite] タブでこれを編集することはできません。
この問題はビルド 62 で修正されているので、アップデートしてお楽しみください。