プロが教える店舗&オフィスのセキュリティ対策術

現在他人が作ったサイトの修正をしておりますが、そのサイトのパスが全部絶対パスとなっており、デモ確認ができなくて困っております。
テスト用に「test」というサブディレクトリが用意されていますが、.htaccessなどを使って、「test」内にアップされたテストサイトのルートをサブディレクトリ「test」と認識させることは可能でしょうか。

詳細については下記となります。
・ルートディレクトリ内のファイルは現在公開中なので、いじることができません。また、ルートディレクトリ内に.htaccessを置き、リダイレクト的なこともできません。
・サブドメインを設定できないので、「test」をサブドメインのルートにすることはできません。
・元々他の方が作ったサイトで、今回はその内の2、3ページだけの修正なので、相対パスへの置換以外の方法で対応したい。
・できれば本番公開時にファイルの修正を必要としない方法が理想です。jsを使った方法があると思いますが、jsファイルを読み込ませないといけないので、できれば避けたいです。

以上のような状況ですが、何か方法はありませんでしょうか。
何卒よろしくお願いいたします。

A 回答 (4件)

>このcommon.cssに修正がある場合、本番に影響ないようにするためにはやはり現在使っているスタイルをそのままにし、



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

ご回答いただきましてありがとうございます。
ご返事遅くなりましてもうしわけございません。

今回の件については、結局はどうすることもできなく、最終的にクライアントチェックは仮ドメインでできないので、すごく大変な思いをしました。

しかも複数の人がコーディングしていたと思われ、相対パスの箇所もあって、メチャクチャでした・・・。

修正があるたびに絶対か相対かを見て本番とtestに分けてアップするというすごく手間がかかる更新でした。

2,3ページと思われていた更新も、あれやこれやでいつの間にか何十ページにもなり、おかげで徹夜する事になってしまいました。

ちょっと愚痴になってしまいましたが、どちらにしてもお知恵をお貸しいただき、長らくお付き合い頂きましてありがとうございました。

お礼日時:2012/09/16 01:48

全体のページ数等がわかりませんが、一部の修正でしたら、


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

 もし仮ドメインを利用できるなら、それが一番便利かもしれません。

 

この回答への補足

ご回答いただきましてありがとうございます。

上記について、一つご質問させていただきたいですが、/css/common.cssがあるとします。
このcommon.cssに修正がある場合、本番に影響ないようにするためにはやはり現在使っているスタイルをそのままにし、修正内容のスタイルを新たに追加するしかないでしょうか。

何度も大変申し訳ございませんが、よろしくお願い致します。

補足日時:2012/09/11 13:44
    • good
    • 0

本題のほうは、ゆっくり考えて見ます。



>>絶対パスのほうが色々な意味で便利なので・・

 もっとも便利さを感じるのが、テンプレートを使い回しするときです。たとえば・・
<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:///⇔ローカルサーバー⇔リモートサーバーの切り替えができます。
    • good
    • 0
この回答へのお礼

ご回答いただきましてありがとうございます。
ご返事遅くなりまして申し訳ございません。

なるほど、確かにテンプレートの使い回しの時は便利そうですね。

>商品一覧ページを作っていて
/product/配下にページを作っていて、新しい分野が増えたので
/product/branch1/以下にすべて移動しようとすると、ぞっとしませんか

確かに以前は同じ考え方で、絶対パスでサイトを構築していましたが、しかし、下記のような状況に出会って、疑問を抱くようになりました。

/product/配下を/product/branch1/に移動する状況で、確かに、例えば/index.htmlへのリンクについては、絶対パスであれば、修正の必要はありませんが、しかし、/product/index.htmlへの絶対パスは全て/product/branch1/index.htmlに変更しなければならず、逆に/product/配下のファイルで、(./)index.htmlのように相対パスで指定していれば、修正の必要がなくなります。

もちろん/product/以外のファイルへのリンク数や/product/配下のファイル数に左右されますが、結局あまり手間が変わらないなぁと思うようになりました。

逆に普段の作業時は相対パスの方が断然便利に感じていて、最近では相対を基本としています。
もっとも、サブディレクトリにデモサイトをアップして、クライアントに確認してもらうには、相対パスにするしかありません。

直接会って確認してもらう分には、ローカルサーバで全く問題ないですが、やはり基本的にはメールなどでのやりとりなので・・・

ちなみに、現在は本番サーバとは別のサーバにサブドメインを作って一時的に凌いでいますが、何かもっと簡単な方法はないでしょうか。やはりサブドメイン以外にないでしょうか。。。

本題とは別のお話にも関わらず、詳細にお答えいただきましてまことにありがとうございます。改めてお礼申し上げます。

引き続き本題の方の回答をもう少し受け付けます。よろしくお願い致します。

お礼日時:2012/09/11 02:25

通常はローカルサーバーを立てますが・・・


 絶対パスのほうが色々な意味で便利なので・・

 それじゃまずいのですか????CGI、SSIのテストに限らず、必要だと思いますけど・・
 Virtual Hostで、
local.host
test.host
でも作成して、テストすれば楽です。firefoxの開発者向けツール ( https://addons.mozilla.jp/firefox/extensions/dev … )にServer Switcher | Firefox アドオン | Mozilla Japan の公式アドオン紹介サイト ( https://addons.mozilla.jp/firefox/details/2409 )がありますのでそれで切り替えて使ってます。

この回答への補足

早速ご回答いただきましてありがとうございます。

>通常はローカルサーバーを立てますが・・・

大規模な改修であれば必要になってきますが、今回は2、3ページのみのちょっとしたデザインの修正なので、そこまでしなくてもいいかなと思いまして・・・
また、それだと困ることが、お客さんに確認してもらえないということです。

なにか方法ないですかねぇ・・・
引き続きよろしくお願い致します。

また、今回の質問とは別のお話ですが、
>絶対パスのほうが色々な意味で便利なので・・

もし可能であれば、具体的にどういうところか教えていただけますでしょうか。
よろしくお願い致します。

補足日時:2012/09/06 11:14
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!