すべてのディレクトリから等しく有効なルートへの相対パスを作成することは可能ですか?
異なるディレクトリ レベルにいくつかのドキュメントがあり、他のディレクトリからロードすると、相対パスが無効になります。
したがって、テキスト/html を相対パスでデータベースに保存すると、一部のページでは機能しません。
相対パスの例:
../imgs/my_image.png
次に、サイトを開発するときに完全なパスを保存すると、新しい方向に移動するたびに、またはローカルホストから実際の運用ドメインに移動するたびに、埋め込まれたすべての画像 (db から text/html として取得される) も機能しなくなります。 .
絶対パスの例:
127.0.0.1/imgs/my_image.png
問題は、正確なホスト名を指定せずに...pseudocode: %root%/imgs/my_image.png
またはそれを解決する他の方法で可能ですか?
(つまり、正規表現を使用してパスを置き換えたり、追加のテーブルを作成して写真を保存したり、すべてのページを 1 つのディレクトリに移動したりするなど、これらのパスのサーバー処理を追加せずに、CMS サイトで相対パスを操作する必要があります。)
それは正直私を悩ませ、必要なたびに追加の処理とレコードの更新以外に何も考えられませんでした。でも、たまたま見つけたものを寄稿したいと思います。
Chrome や IE などの最新のブラウザーでは機能しましたが、これが正しいコードであるかどうかはまったく疑問です。ただし、ルートへの最高レベルの相対パスを使用すると、たまたま下位レベルでも機能しました。
たとえば、このようなページが127.0.0.1/auth/profile/content/index.php
あり、イメージ パスが127.0.0.1/imgs/my_image.png
であるとします。次のコードは、たとえば のような下位レベルのページ 127.0.0.1/auth/prof.php
や、ルート ページ自体でも機能します127.0.0.1/index.php
。
../../../my_image.png
論理的には、ルート フォルダー内のページに下位レベルはありません。それで、それが正しいか間違っているか、そしてそれを本番環境で使用する必要があるかどうかについて、もう少し知りたいです...