[Sitecore][301 redirect]301リダイレクト

概要:ページずつサイト移行する際のリダイレクトについて。 今回、新しいサイトを構築することになり、ただ、ページずつ作っていくようにと言われました。そのため、もし、サイトコアにてページが作成されていない場合、既存のサイトへリダイレクトをしなければなりません。サイトコアの404についての記事がたくさんあります。404の後、301に設定する記事もあります。私のようなの場合に関しての記事を見かけなかった。ここで自分が思ったことをメモ書きの形で書いていきます。 手始めはサイトのホームーページだけサイトコアへ移行することです。私はすぐに思ったのは404のページを設定すればいいのではと思った。そこで自分に聞くのは今回サイトコアにてホームページだけ移行するのでホームページ以外は全部404になることになります。ですので404の設定だけではだめでした。 客先にどのページは今後サイトコアへ移行するなのかを聞いたところ分からないといわれ、ホームページ以外は既存のサイトへリダイレクトすることと言われました。 まず、考えるのはどんなページがリダイレクトするのかの一覧を作りました。 1.既存サイトはPHPページが多く、PHPページへのリダイレクト FROM: www.newsandbox.com/contact_us.php&lang=ja&prod=1&trial=1 TO: www.oldsandbox.com/contact_us.php&lang=ja&prod=1&trial=1 最初に思ったのは、これらのPHPページをPHPをカスタム拡張子として対応すると思った。 サイトコアプロセッサでHttpRequestBeginパイプラインにてItemResolverを使用して、サイトコアは、拡張子を考慮せずに、URLからの実際のパスでコンテキストアイテムを決めています。ですので、PHPの拡張子さえ許可すればカスタムコードで対応すればいいかと思った。 しかし、実際に既存のサイトを見ていくと、多くのページがサーバー側の機能を持っています。これらの機能は依然の業者が作成されていたためドキュメントがありません。機能の検証をしながら、こちらへ導入するにはかなり時間がかかります。ですので、すべてのPHPページを既存サイトへリダイレクトすることになった。そうなると、IIS の URL リライト モジュールにてリダイレクトで簡単に対応ができました。 2.サイトコアに存在しないページのリダイレクト FROM: www.newsandbox.com/not-exist-in-sitecore-page TO: www.oldsandbox.com/not-exist-in-sitecore-page みんな知っているように、サイトコアは404の後に302のステータスコードでリダイヤルされるので、カスタム404を行っているのは普通です。ですので、簡単なプロセッサを作って、301のステータスコードで返すようにしました。パイプラインにてプロセッサを追加するに関しての記事が沢山あるので、ここで書きません。パッチをするところとコードだけを見ていきます。 namespace Sandbox.Sitecore.Pipelines { using System; using System.Collections.Generic; using System.Linq; using Sitecore; using System.Web; using Sitecore.Pipelines.HttpRequest; using Sitecore.Configuration; public class ItemNotFoundRedirect : HttpRequestProcessor { public override void Process(HttpRequestArgs args) { var context = […]

[Sitecore 8][ClayTablet]ClayTableを使って多言語対応

概要:ClayTabletのセットアップの手順まとめ。 ——————————————————————————————— 検証環境は次の通りです。 Sitecore Experience Platform 8 必要なもの ClayTablet   ブログの方をさぼって大変申し訳ございません!! 転職してからてっきりもっもブログを書く時間があると思ったけど、これは大間違いでした。 業者で勤めていた時よりも忙しいです。ただ、先月サイトコアのSymposiumにて、原水さんと会い、いろいろと話を伺ってから、もっとブログをしなければと思った。 今回、ClaytTbletについて書いてみたい。なぜなら、米国のブログも、日本のブログをみでも、これについて詳細な 記事を見つからなかったので、かつ、サイトコア、とくにバージョン8以降、多言語に対応する機能は充実しています。 ほんとに、サイトコアホームページにあるセリフ ”日本語や英語など数十か国語を対象に言語毎のコンテンツ更新履歴や公開ワークフロー、SEO設定などを管理することができます。”になっています。   ClayTabletって何? ClayTableはサイトコアのテクノロジーパートナーです。 製品の詳細は直接ホームページをみればいいです。 http://www.clay-tablet.com/products/cms-connectors/sitecore   セットアップ 私の場合は購入後下記のようなパーケージをもらいました。   データーベースのセットアップ まず、パーケージにあるデーターベースをアターチします。私の場合はサンプルサイトのsanboxの既存の データーベースグループに追加   接続に使用するユーザーがアクセス権限を与えます。   サイトのコネクション設定にコネクションを追加   サイトのデーターフォルダ下にCT3というフォルダを作成し、パーケージにあるライセンスをコピーします。   *このライセンスは環境別に分かれています。   私の場合はその違いが翻訳先が機械翻訳かヒューマン翻訳のFTPサーバーへ送るかの違いです。 *FTPサーバーを利用する時、サイトコアからサーバーへ送ったファイルが ”From_LSP”に送られます。逆に完成したファイルが”To_LSP”に置きます。 サイトコアへ送ったファイルが”From_LSP”にて下記のように言語別のフォルダが作成されます。 それぞれのフォルダにて、下記のようなのxmlファイルがタスクいIDがあり、これが翻訳された後、 ”To_LSP”に置きます。その際に注意してもらいたいのはサブフォルダではなく、直接xmlファイルを置くよういします。サポートからサブフォルダより読み取らないです。 さて、ClayTabletのパーケージをインストールしましょう。パーケージをコピーし、 インストーラーにしたがってインストールします。 もし、どんなファイルがインストールされたのかを確認したいなら、 ZIPファイルを見ればいいです。必要なサイトコアアイテムをTDSを使って REPOにインポートすればいい。   インストールした後、最初に確認したいのはワークフォローです。 サンプルのワークフォローがついてきていますが、   自分のサイトに合したワークフォローに統合しましょう。   注意してもらいたいのは、インストールする際にデーターベースへの変更があります。 […]