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

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

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

現在他人が作ったサイトの修正をしておりますが、そのサイトのパスが全部絶対パスとなっており、デモ確認ができなくて困っております。 テスト用に「test」というサブディレクトリが用意されていますが、.htaccessなどを使って、「test」内にアップされたテストサイトのルートをサブディレクトリ「test」と認識させることは可能でしょうか。 詳細については下記となります。 ・ルートディレクトリ内のファイルは現在公開中なので、いじることができません。また、ルートディレクトリ内に.htaccessを置き、リダイレクト的なこともできません。 ・サブドメインを設定できないので、「test」をサブドメインのルートにすることはできません。 ・元々他の方が作ったサイトで、今回はその内の2、3ページだけの修正なので、相対パスへの置換以外の方法で対応したい。 ・できれば本番公開時にファイルの修正を必要としない方法が理想です。jsを使った方法があると思いますが、jsファイルを読み込ませないといけないので、できれば避けたいです。 以上のような状況ですが、何か方法はありませんでしょうか。 何卒よろしくお願いいたします。

  • HTML
  • 回答数4
  • ありがとう数2

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

  • ベストアンサー
  • 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

  • サブドメイン、サブディレクトリへ301ダイレクト

    サブドメイン、サブディレクトリへの301ダイレクト方法はありますか。 example.com のサイトの中身を ↓301 hogehoge.com/example/ もしくは example.hogehoge.com/ にうつしたいのですが、個々のページは同じでそっくり引っ越す場合の方法です。 .htaccess で可能でしょうか

    • 締切済み
    • SEO
  • サブドメインとサブディレクトリーについて

    いつもお世話になりしてありがとうございます。 サブドメインについて、躓きましたので教えて戴きたいのですが 今困っているサブドメインについては、例えば 「test.hoge.com」 というサブドメインを作成しました。 そのフォルダーを「/hoge.com/test/」に作成しました。 そうすると、勿論サブドメインの、http://test.hoge.com はアクセス出来ますが、http://hoge.com/test/ にも両方アクセス出来るのです。 サーバーの仕様上どちらも表示するように出来ているのだと思われます。 それで困ったことは、Googleにインデックスされるのは、サブディレクトリーの片方のみで、サブドメイン側はインデックスされません。 これは私が幾つも作ったのですが、どれも駄目で、サブディレクトリーの方のみがインデックスされます。 サブドメインは全くどれもインデックスされません。(WEBマスターツールで確認) 多分これは、同じコンテンツのサイトがもう一つ存在する、コピペのサイトと勘違いされ、合計二つ存在すると認識され、ペナルティー受けインデックスされないものだと思われます。 この場合は、サブドメインは止めてサブディレクトリーのみにした方が良いのでしょうか。 でも、それなら、なんのためにサブドメインが有るのか意味が無くなりますが。 できれば、サブドメインのみが表示、アクセス出来る方法を知りたいのですが。 以上宜しくお願いします。

  • サブディレクトリをドメインルートに見せたい

    Value Domainで下記のようにサーバーアカウントのホームに配置したサブディレクトリをドメインのルートに見せるにはどのように設定すればいいでしょうか。 DNSの設定が今一分からず手が止まっています。 参考になるサイトでもいいのでお教え下さい。 /public_html/wordpress/    ↓ http://ドメイン/

  • サブドメイン→サブディレクトリにwordpress

    サブドメイン→サブディレクトリにWORDPRESSサイトを移管する方法を教えてください。 サブディレクトリからサブドメインに移す方法は見つけることができるのですが、その逆のサブドメインからサブディレクトリへの引っ越しの方法がわかりません。 サブドメイン : http://sub.example.com (現状、wordpress組込済) ▽ サブディレクトリ :http://example.com/sub(コチラヘ引っ越し) また、これまでの検索順位が引き継がれるようにできますでしょうか?。 ご存知の方いらっしゃいましたらアドバイスいただきたいです。 何卒よろしくお願いいたします。

  • サイトルート相対パスと絶対パスのメリット・デメリット

    サイトルート相対パスと絶対パスのメリット・デメリット htmlでサイト内リンクを指定する際、 /test/test.html というサイトルート相対パスで指定する場合と、 http://example.com/test/test.html という絶対パスで指定する場合、 それぞれのメリット・デメリットはどういったものがあるでしょうか? ドメインは絶対に変更されないという前提の場合です。 絶対パスの方が重くなるなどのデメリットはありますか?

  • .htaccessでルートディレクトリ変更(?)

    こんにちは、お世話になっております。 以下のようなディレクトリ構造をしておりまして(分かりにくくて申し訳ないです...)、 / ├ dev │ ├/img │ ├/js │ ├/dir_1 │ │ └index.html │ └index.html └index.html ルート直下にdevというディレクトリがあります。 dev配下でサイトを作り、完成したらルートにあげたいと思っていたのですが、 dev配下のページで、仮に画像の読み込みを<img src="/img/image_01.jpg" />とすると、 当然ながらルート直下のimgを参照しにいき、画像が読み込まれない状態になります。 リンク関係も同様です。 .htaccessで、dev配下のhtml全てに対し、「/」を「/dev/」と置き換えるようにさせる設定はありますでしょうか。 アドバイス頂けたらと思います。 よろしくお願い致します。

  • ルート相対パス

    WEBアプリを開発しています。 (windows・IISです) 今回初めてシステムをSSL対応で納品することになりました。 今まで何度か質問させていただき、それほど大きな変更はないと知り安堵していたのですが、 いざ、修正しますと結構、力仕事的にあることがわかりました。 cgiアプリのプログラムで、必要な箇所に"https://localhost/"を、くっつけるよう直していましたが 静的なhtmlファイルやjsファイルなどは、 動く環境に合わせて、直接ファイルを開けてURLを書き換えないといけないです! 納品時に、またお客様の環境に合わせた修正をしなければならない??? お客様の環境が変わったら? それは無理! と、焦りました。 で、調べていましたら「ルート相対パス」にしておけば テスト時でも、納品しても 変更しなくて良いとのこと!? (ルート相対パス・・・初めて知った無知者です) <img>はsrc="/xxx/xxx.png"、 ルート直下であれば src="/xxx.png" js、cssなど、src=関連は全てsrc="/・・・" <form>のactionも action="/cgi.exe" などにすればよいのでしょうか? 自分で確認しろ!と言われそうですが、なにぶん テスト環境はdebug用SSL環境ですし 納期は迫っているし、 皆さんのアドバイスで少しでも正確な(?)方法で動ければ、、、と 質問させていただきました。 ※因みにSSLのデバック環境だと、「セキュリティに問題があります」などのエラーが出るのは仕方の無いことでしょうか? 推奨されないという「サイトの続行」でテストしようとしていますが。 (やっとSSLのdebug環境ができたばっかりなんです) 以上、よろしくお願いします。

    • ベストアンサー
    • HTML
  • rootにpathを通す方法

    こんにちは、kaituyoと申します。 Solaris8でのpathの通し方の質問です。一般ユーザーの場合ですとHOMEディレクトリの中の「.cshrc」ファイルにpathを書きこみシェルを再実行させればコマンドが使えるようになりました。しかし、rootでログインすると使えません。それで、rootにもpathを通そうかしたら「.cshrc」が見つかりません。  rootでpathを通してコマンドを実行できるようにはどうしたらいいのでしょうか? よろしくお願いします。

  • 絶対パスと相対パスはどちらがいい?

    htmlで自サイト内のリンクをつける場合、絶対パスと相対パスはどちらを使った方がいいのでしょうか? すべてのファイルが同じディレクトリにあるとして、 <a href="test.html">test</a> と <a href="http://example.com/test.html">test</a> では、SEOの効果が違ったりしますか? 教えて下さい。よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • サブディレクトリで切って、サイトを複数作る

    メインサイトのドメインを、 サブディレクトリで切って、サイトを複数作ろうと思っています。 そのサブディレクトリのサイトというのは、 入り口にパスワードを付けた、会員制のものです。 複数というのは、大体5~10サイトくらいになります。 ここで思ったのが、サブディレクトリで複数のサイトを作ると、 メインサイトに支障があるのではないか?ということ。 メインサイトは、検索での集客をしています。 なので、サブディレクトリでペナルティを受けたりしたら困ります。 サブディレクトリで、複数のサイトを作ることで、 メインサイトに支障が起きたりするのでしょうか? サブディレクトリというのは、どれくらいの数までとか、 決められていたり、するでしょうか? よろしくお願いいたします。