基本的に、古いサイトはすべてフラッシュで作成されているため、html バージョンに切り替えてサブドメインに割り当て、すべてのリンクを機能させたいと考えています。フラッシュの URL の例は次のようになります。
http://site.com/dir/?language=french#/gallery/folder1/image1.jpg
上記の URL から、次のようなきれいなものを取得する必要があります。
http://dir.site.com/FR/gallery/folder1/image1.jpg
もちろん、言語変数が指定されていない場合は、URL にデフォルトの言語「EN」を割り当てたいので、言語コントローラーを切り替えることができます (フランス語/FR と英語/EN の 2 つの言語しかありません)。
現在の htaccess ファイル ( http://site.com/dir/.htaccess ) は次のようになります。
RewriteCond %{REQUEST_URI} ^/dir
RewriteRule ^(.*)$ http://dir.site.com/$1 [R=301,L,P]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
上記の例のように言語変数を変換するだけで済みますが、htaccess で別のルールを設定しようとすると、サイトでリダイレクト ループ エラーが発生します:/
URL のハッシュ (#) については、index.php ファイル (これが最初のコントローラー) で JS を作成したため、残っているのは言語だけです...
<script type="text/javascript">
if (location.href.indexOf("#") > -1) {
location.assign(location.href.replace(/\/?#/, ""));
}
</script>