突然、ルートパス(サイトルート相対パスと呼ぶの?)で書かれたサイトを触る事になって困ったので調べたメモ。

そもそもルートパス(サイトルート相対パス?)ってなんぞ?

ルートパス
サイトルートのルートディレクトリからみた相対パス
/から始まる。
絶対パス
外部サイトへリンク貼るときなんかのパス
httpから始まる
相対パス
ファイルから見た対象ファイルへのパス
よく使う

ルートパスで書かれたサイトをローカルでプレビューするには

Dreamweaverだと

[text gutter=”false”][編集] – [環境設定] – [ブラウザでプレビュー] – [オプション]一時ファイルを使ってプレビューにチェック[/text]
しておけば相対リンクがドキュメントでもプレビュー出来る(プレビューは)。

編集する設定はadobeのサイトAdobe Dreamweaver CS4 * 新規リンクの相対パスの設定
を参照 / ヘルプの引用

[image]一時ファイルを使用してプレビュー

[image]サイト管理のとこ

メリット(だと思うところ)
これだとローカルにサーバーを立てる必要もない。

デメリット(だと思うところ)
IETesterでIE6の表示を確認する時たいへんなのと
編集修正するたびブラウザの更新で確認できない。

XAMPPだと

バーチャルホストを使うのが現実的みたい。

編集するファイルは2つ
1つめ
C:\xampp\apache\conf\extra\httpd-vhosts.conf

(うちのPCでの設定ファイルの場所)

1-1)
[text]NameVirtualHost *:80[text]のコメントアウト(##)を削除して有効化する。

1-2)
例 / dドライブのsiterootフォルダをドキュメントルートにして
http://sitenameでアクセス出来るようにするには。

[text]<VirtualHost *:80>
DocumentRoot "D:/siteroot"
ServerName sitename
<Directory "D:/siteroot">
order deny,allow
allow from all
</Directory>
</VirtualHost>
[/text]
(ちょっと修正した)
Access forbidden!Error 403になっちゃうならDirectoryの指定は必要
<Directory>は<VirtualHost>の中でも外でも問題なにのだろうか?
DocumentRootのパスに2バイト文字が混ざってると上手くいかない感じ。

Directoryの中に記述できるモノもようわからん。
ここらへん?
http://httpd.apache.org/docs/2.2/ja/mod/core.html#directory
http://httpd.apache.org/docs/2.2/ja/mod/core.html#options
http://httpd.apache.org/docs/2.2/ja/mod/core.html#allowoverride

2つめ
C:\WINDOWS\system32\drivers\etc\hosts

例 / さっきのServerNameに記述した名前(sitename)を追加
[text]127.0.0.1 localhost sitename[/text]とか
[text]127.0.0.1 localhost
127.0.0.1 sitename[/text]みたいな感じで

Apacheを再起動してhttp://sitenameにアクセスしてみる。
いままでこれ知らなかったから
phpのテストをしたい場合
xamppのhtdocs以下にフォルダ作ってて
不便だと思ってたけど、他のサイトと同じように管理出来るのかしら。
ん~2バイト文字のフォルダ名が付いてるとエラーがでるのぅ。
もうちょい試してみよう。

参考にしたサイト

相対ルートパスのサイトをローカルで見る方法(バーチャルホスト設定) World of granshe.
Windows版 XAMPPでバーチャルホストを設定すると、403エラーになる。:Keep The Faith ~ウェブディレクターの日常。まぁ、何でもほどほどに。ほどほどに。~
core – Apache HTTP サーバ
Apache conf 設定メモ

ファイルが読めない! .htaccess
<Directory> ディテクティブ内の設定で、該当のディレクトリが
Order allow,deny
Allow from all
となっているか。また、AllowOverride の設定がどうなっているか確認しましょう。

Dreamweaverでのサイトルート相対パス設定
Adobe Dreamweaver CS4 * 新規リンクの相対パスの設定

初期設定では、Dreamweaver はドキュメント相対パスを使用して、サイトの他のページへのリンクを作成します。 サイトルート相対パスを使用するには、サーバー上のドキュメントルートと同じ機能を持つローカルルートフォルダを選択して、Dreamweaver でローカルフォルダを定義します。 Dreamweaver はこのフォルダを使って、ファイルへのサイトルート相対パスを決定します。
[サイト]-[サイトの管理] を選択します。
[サイトの管理] ダイアログボックスで、リストにあるサイトをダブルクリックします。
[サイト定義] ダイアログボックスで詳細設定が表示されていない場合は、[詳細設定] タブをクリックします。

[サイト定義] ダイアログボックスの [詳細設定] タブに [ローカル情報] カテゴリのオプションが表示されます。
[ドキュメント] または [サイトルート] オプションを選択して、新しいリンクの相対パスを設定します。

この設定を変更しても、[OK] をクリックした後に既存のリンクのパスは変換されません。 この設定は、Dreamweaver で作成した新規リンクにだけ適用されます。
注意: テストサーバーを指定するか、[編集]-[環境設定]-[ブラウザでプレビュー] で [一時ファイルを使用してプレビュー] オプションを選択していない限り、ローカルブラウザでドキュメントをプレビューしても、サイトのルート相対パスを使ってリンクされたコンテンツは表示されません。 これは、サーバーと違って、ブラウザではサイトのルートを認識できないためです。 サイトルート相対パスでリンクされているコンテンツをすぐにプレビューする場合は、リモートサーバーにファイルを置き、[ファイル]-[ブラウザでプレビュー] を選択します。
サイトルート相対パスの場合、[HTTP アドレス] ボックスに Web サイトの URL を入力します。

Dreamweaver はこのアドレスを使用して、サイトルート相対リンクが、サイトルートが異なることがあるリモートサーバー上で動作するかどうかを確認します。 たとえば、ハードディスクの C:¥Sales¥images¥ フォルダ (Sales はローカルルートフォルダ) にあるイメージファイルにリンクし、完了したサイトの URL が http://www.mysite.com/SalesApp/ (SalesApp はリモートルートフォルダ) である場合は、[HTTP] ボックスに URL を入力すると、リモートサーバー上でリンクされたファイルへのパスが /SalesApp/images/ となります。
注意: 以前のリリースの Dreamweaver では、正しいリモートルートフォルダを追加できず、これにより実行時にページで障害が発生していました。
「OK」をクリックします。

新しいパス設定は現在のサイトのみに適用されます。


4 thoughts on “ルートパスとDreamweaverとバーチャルホスト(バーチャルドメイン?)

コメントを残す

メールアドレスが公開されることはありません。

You can add images to your comment by clicking here.