• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:絶対パスのルートをサブディレクトリに変更する方法)

絶対パスのルートをサブディレクトリに変更する方法

このQ&Aのポイント
  • 他人が作ったサイトの修正をしておりますが、絶対パスのためデモ確認ができず困っています。サブディレクトリに変更する方法はありますか?
  • サイト修正中において、絶対パスからサブディレクトリへの変更方法について教えてください。ルートディレクトリ内のファイルには触れることができず、.htaccessやリダイレクトも使用できません。
  • 他人が作成したサイトの一部を修正していますが、絶対パスを相対パスに変更する方法が知りたいです。テストサイトのルートをサブディレクトリとして認識させる方法や、本番公開時にファイルの修正不要の方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

>このcommon.cssに修正がある場合、本番に影響ないようにするためにはやはり現在使っているスタイルをそのままにし、  今まさにその作業をしているのですが、私はローカルサーバーで修正しますから、サイト全体(もしくは必要なところ)を一旦ローカルにコピーして修正します。  スタイルシートを修正すれば、当然すべてのスタイルに影響を及ぼしますから、どうしても全部を降ろしておく必要がありますね。  数ページの修正の場合、あらたにスタイルシートを追加する「当座しのぎ」もありますが--同じ詳細度だったら後出の物が優先される--。いずれ大変なことになるので。

ixkaito
質問者

お礼

ご回答いただきましてありがとうございます。 ご返事遅くなりましてもうしわけございません。 今回の件については、結局はどうすることもできなく、最終的にクライアントチェックは仮ドメインでできないので、すごく大変な思いをしました。 しかも複数の人がコーディングしていたと思われ、相対パスの箇所もあって、メチャクチャでした・・・。 修正があるたびに絶対か相対かを見て本番とtestに分けてアップするというすごく手間がかかる更新でした。 2,3ページと思われていた更新も、あれやこれやでいつの間にか何十ページにもなり、おかげで徹夜する事になってしまいました。 ちょっと愚痴になってしまいましたが、どちらにしてもお知恵をお貸しいただき、長らくお付き合い頂きましてありがとうございました。

その他の回答 (3)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

全体のページ数等がわかりませんが、一部の修正でしたら、 / |-- index.html |-- index.htm new! |-- old/ |-- new/   new! になると思います。  new/内にold/内のファイルはすべてコピーして、new/内で必要なファイルを修正しています。他の下位ページからの、old/内のファイルへのリンクは無視しています。(これは重要ではない)  また、下位ホルダーに移動する場合は、テキストエディタの「フォルダーから置換」機能を使って、テストが完了したらすべて置換しています。  (href|src)=\"/product([^\"]*)\" → \1="\2/branch1\2"  相対パスだと、パスを特定できないため、この手の置換も不可能です。  もし仮ドメインを利用できるなら、それが一番便利かもしれません。  

ixkaito
質問者

補足

ご回答いただきましてありがとうございます。 上記について、一つご質問させていただきたいですが、/css/common.cssがあるとします。 このcommon.cssに修正がある場合、本番に影響ないようにするためにはやはり現在使っているスタイルをそのままにし、修正内容のスタイルを新たに追加するしかないでしょうか。 何度も大変申し訳ございませんが、よろしくお願い致します。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

本題のほうは、ゆっくり考えて見ます。 >>絶対パスのほうが色々な意味で便利なので・・  もっとも便利さを感じるのが、テンプレートを使い回しするときです。たとえば・・ <link rel="stylesheet" media="screen" href="/CSS/shape.css"> <link rel="stylesheet" media="screen" href="/CSS/color.css">  と書かれているテンプレートはどこに置こうと・・  また作成中のページに <img src="/images/logo/logo.png" ***********>  と書かれていても良いでしょう。  商品一覧ページを作っていて /product/配下にページを作っていて、新しい分野が増えたので /product/branch1/以下にすべて移動しようとすると、ぞっとしませんか  たとえば、次のようなディレクトリ構成を持つサイトがあったとします。 / |-- index.html |-- product/ |   |-- index.html |   |-- category1/ |       |-- index.html |       |-- abc.html |       |-- images/  (このディレクトリ内でのみ使用する画像) ここで、category1の内容を書き換えたいとすると / |-- index.html |-- index.htm(テスト用トップ) |-- product/ |   |-- index.html |   |-- category1/ |   |    |-- index.html |   |    |-- abc.html |   |    |-- images/ |   |-- category1test/ |       |-- index.html |       |-- abc.html |       |-- images/ を作成して、修正作業に取り掛かります。  /product/category1test/内のトップへのリンクだけ、作業中はindex.htmにしておいて、アップ時に変更します。  原則として、そのディレクトリ内でのみ利用するページやリンクは相対パスでも構いませんが、他のディレクトリや上位ディレクトリへはすべて絶対パスです。  私は、ノート内にローカルサーバーを構築していて、すべてのリモートサイトに対応する<VIRTUAL HOST>を <VIRTUALHOST 127.0.0.1> DocumentRoot "/web/hoge/" ServerName hoge.com.local のように作成して、プレゼンテーションはそれで行います。 私は、基本的にEmEditor/firefoxですが、EmEditorには、作成中のページを各種ブラウザで確認するボタンを追加できますし、firefoxで表示させた後、fille:///⇔ローカルサーバー⇔リモートサーバーの切り替えができます。

ixkaito
質問者

お礼

ご回答いただきましてありがとうございます。 ご返事遅くなりまして申し訳ございません。 なるほど、確かにテンプレートの使い回しの時は便利そうですね。 >商品一覧ページを作っていて /product/配下にページを作っていて、新しい分野が増えたので /product/branch1/以下にすべて移動しようとすると、ぞっとしませんか 確かに以前は同じ考え方で、絶対パスでサイトを構築していましたが、しかし、下記のような状況に出会って、疑問を抱くようになりました。 /product/配下を/product/branch1/に移動する状況で、確かに、例えば/index.htmlへのリンクについては、絶対パスであれば、修正の必要はありませんが、しかし、/product/index.htmlへの絶対パスは全て/product/branch1/index.htmlに変更しなければならず、逆に/product/配下のファイルで、(./)index.htmlのように相対パスで指定していれば、修正の必要がなくなります。 もちろん/product/以外のファイルへのリンク数や/product/配下のファイル数に左右されますが、結局あまり手間が変わらないなぁと思うようになりました。 逆に普段の作業時は相対パスの方が断然便利に感じていて、最近では相対を基本としています。 もっとも、サブディレクトリにデモサイトをアップして、クライアントに確認してもらうには、相対パスにするしかありません。 直接会って確認してもらう分には、ローカルサーバで全く問題ないですが、やはり基本的にはメールなどでのやりとりなので・・・ ちなみに、現在は本番サーバとは別のサーバにサブドメインを作って一時的に凌いでいますが、何かもっと簡単な方法はないでしょうか。やはりサブドメイン以外にないでしょうか。。。 本題とは別のお話にも関わらず、詳細にお答えいただきましてまことにありがとうございます。改めてお礼申し上げます。 引き続き本題の方の回答をもう少し受け付けます。よろしくお願い致します。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

通常はローカルサーバーを立てますが・・・  絶対パスのほうが色々な意味で便利なので・・  それじゃまずいのですか????CGI、SSIのテストに限らず、必要だと思いますけど・・  Virtual Hostで、 local.host test.host でも作成して、テストすれば楽です。firefoxの開発者向けツール ( https://addons.mozilla.jp/firefox/extensions/developer_tools/ )にServer Switcher | Firefox アドオン | Mozilla Japan の公式アドオン紹介サイト ( https://addons.mozilla.jp/firefox/details/2409 )がありますのでそれで切り替えて使ってます。

ixkaito
質問者

補足

早速ご回答いただきましてありがとうございます。 >通常はローカルサーバーを立てますが・・・ 大規模な改修であれば必要になってきますが、今回は2、3ページのみのちょっとしたデザインの修正なので、そこまでしなくてもいいかなと思いまして・・・ また、それだと困ることが、お客さんに確認してもらえないということです。 なにか方法ないですかねぇ・・・ 引き続きよろしくお願い致します。 また、今回の質問とは別のお話ですが、 >絶対パスのほうが色々な意味で便利なので・・ もし可能であれば、具体的にどういうところか教えていただけますでしょうか。 よろしくお願い致します。

関連するQ&A