Dreamweaverのライブラリのディレクトリ指定のリンクの不具合のせいで、docomoで301エラー

今制作してる携帯サイトの案件で、かなり参りました。

携帯サイトで共通パーツがあり、ページによって表示/非表示させたり順番を並べ替えないといけなかったしてしたので、
Dreamweaverのライブラリを使いました。

そしたら、Dreamweaver CS3でフォルダへのリンクの不具合を解決するハック – kazkiScopeでも書かれてる以下の不具合に遭遇。

不具合その2:ライブラリでフォルダをリンク先に指定したとき、末尾のスラッシュが外れる

これも再現してみます。ライブラリを作成して、特定のフォルダへのリンクを作成します。

<a href="../folder/">フォルダへのリンク</a>
(/Library/test.lbi)

そして、このライブラリをルート直下のhtmlに配置してみると、

<a href="folder">フォルダへのリンク</a>
(/test.html内)

……リンク自体は有効だけど、末尾のスラッシュが外れている。

そう!これ!同じ問題起きたよ!

docomoはリンクでディレクトリ指定するとき、最後の”/(スラッシュ)”が無いと、
『サイトが移動しました(301)』
とエラーメッセージが出てしまいます。

参考サイト)
DoCoMo サイトが移動しました(301):クリエイターズブログ:ほのおのクリエイターズ
DoCoMoで「サイトが移動しました(301)」が出る場合 – Apelog

kazkiScopeさんのエントリーでは親切にも解決策も書いてくれてた。

「ライブラリ内でのフォルダに対するリンク先は、href=”../folder/./”というように最後に”./”を追加して指定する」

おー!これで治る、いやっほー♪
と思って試してみたら、、、、

Mac / DW CS3では不具合が治らなかった….orz

結構、昔からの問題みたいでDW8ぐらいからあったらしい。
(2chでも「テンプレートのオプション領域で代用してる」、って人もいた。)

今回は、全ページPHPなサイトなので、ライブラリ(.lbi)を、PHPで書き直してPHPのincludeさせる方向で修正する事にしました…orz

あまりに悔しかったので、Adobeサポートセンターに不具合の以下の報告した。

******不具合報告******
不具合の内容:
・Libraryでディレクトリ指定のリンク(最後が”/”スラッシュで終わる形)をすると、
利用したHTMLでは、最後の”/”スラッシュが無くなる。

このままだと一部のブラウザで301エラーを返してしまう。
(docomo携帯ブラウザ等)

問題の再現方法:
1.ライブラリでリンクをディレクトリで指定
/Library/test.lbi
<a href=”../directory/”>リンク</a>

2. 1のライブラリをHTMLで利用する

結果:
<a href=”directory”>リンク</a>
と、”/”で終わらない。

期待した結果:
<a href=”directory/”>リンク</a>
スラッシュでリンクが終わる事。
明示的にディレクトリを指定してるのだから、”/”で終わらせるべき。

決してイレギュラーな使い方じゃないと思うんだ。
kazkiScope
さんもエントリー中で書かれてるけど、なんとかしてくださいよ、Adobeの開発者さん。

テンプレート機能とかは満足してるのだから。

Dreamweaverのライブラリのディレクトリ指定のリンクの不具合のせいで、docomoで301エラー” への1件のフィードバック

  1. 元のリンクより、分かりやすかったので、こちらにコメントさせていただきます。
    ¥(円マーク)\(逆スラッシュ)./(ドットスラッシュ)も試しましたが、だめでした。
    ルートからリンクを記載するとオーケーですが、テスト環境では相対パスが必要で、だめでした。(ルート下のサブフォルダーにコピーをつくり、テストしている。)
    何と! .//(ドット、スラ、スラ)が通りました。ただし、example/フォルダーにある自身へのリンクは、../example/となり、./になりませんが、フォルダー名+スラッシュで終わりたい目的は達したので、それ以上の探求はやめました。(ちなみに//スラスラもだめでした)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


*