2012-01-05 6 views
0

クイック概要 - 恐ろしい習慣を持つ大規模なウェブサイトのCMSが複数の都市に対応するために拡大され、彼らは完全なアウトサブドメインを使用することを拒否し、次のようにいくつかの都市を持つことを望む:相対URLが壊れている、.htaccessソリューションですか?私がやっているの

www.example.com/cityx/ 
www.example.com/cityy/ 
www.example.com/cityz/ 

CMS全体がルートURLからサブフォルダに移動さ​​れ、各都市ごとにコピーされますが、サイトは "/css/style.css"や "/js/jquery.js"のような相対URLを使用して記述されます。私は個々のファイルを個別に変更したいと思いますが、300個以上のPHPファイルがあります。

.htaccessに新しいルートに移動するための相対URLを変更する方法はありますか?すなわちwww.example.com/cityx/にリダイレクトされた相対パスを持つことができますか?

答えて

0

私はあなたが達成しようとしている正確にわからないんだけど、ここで私はあなたが行うことができます知っているものです:

Options -Indexes 
Options +FollowSymLinks 

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^css/(.+)$ cityx/css/$1 [R=302,NC] 
</IfModule> 

しかし、私はあなたが各都市が独自のCSSファイルを持つようにしたいと仮定?どのような場合には、これが可能かどうか私は非常に疑問です。

あなたが取っていることがこれを行う最善の方法であるかどうかわかりません。各都市ごとにコピーするだけでCMSを拡張していると言っていますか?都市をCMS自体に統合し、htaccessを使用してサブディレクトリ(/ cityx/cityyなど)を関連するCMSページ(例:/index.php?city=cityx)または類似のものに書き換える方が良いのではないでしょうか。 CMSで何かを更新しなければならないのは今回が最後のことではありませんので、将来はすべての都市にレプリケートする必要があります。思考の糧。

また、最後に思ったのは、CMSに300ページあり、CSSとJSファイルへのリンクを変更するだけで変更する必要がある場合です。おそらく恐ろしいソフトウェアです!ウェブサイトは、異なるヘッダーファイルや何かがある場合はおそらく2つまたは3つのCSSファイルまたはJSファイルへの参照を複数持つべきではありませんが、これらの参照を含む300個の個別ファイルはばかげています。より良いソフトウェアに変更する時間。 :)

+0

クライアントは、私たちのためにこの地獄を作っています。私たちは丘に向かう前に簡単な解決策を望んでいます! CMSは私の人生で今まで見たことのない最も複雑な、悪夢のようなソフトウェアです。最悪の場合、私たちは予算を上回る前にこれを済ませるために1週間の資金しか残さない。あなたはそれぞれのサイトが独自のCSSなどを持っているということは間違いありません。それは私がやったやり方ではありませんが、私たちはこのコードを他の会社から継承しています。 .htaccessソリューションが見つからない場合は、クライアントにサブドメインを使用させてもらうようにしてみてください。 –

+0

うーん...これを行う方法はないと思います。それらはルートと相対的であるため、htaccessがそれを制御するまでには、どの都市のサブディレクトリから要求が出されたかを確かに知る方法はありません。あなたはリファラーを使用して何かをハックすることができるかもしれませんが、私の知識が終わるものは恐れています。いずれにしても、1週間の資金調達額は少し不足しているようです。状況を説明して(将来のメンテナンスに時間がかかり、その結果としてコストがかかることを知らせて)、彼らの言葉を見て、クライアントに戻ってみる価値があるかもしれません。 –

関連する問題