これは以前に尋ねられた質問に似ていますが、異なることを約束します。
親サイトから子サイトへの継承を伴うサイトがあります。これの一部はメディアです。メディアの提供を高速化するために、子の親ディレクトリのシンボリック リンク コピーを作成し、子が明確に定義するファイルで上書きします。これにより、Apache は親から html を継承しながらメディア (親から来る可能性があります) から静的にサービスを提供できます。
継承が common->maps->cars であるビルド後の例:
/some/directory/common/
images/
cats.png
muffins.png
css/
styles.css
/some/directory/maps/
images/
cats.png -> /some/directory/common/images/cats.png
muffins.png (overridden by child)
css/
styles.css -> /some/directory/common/css/styles.css
mapsStyles.css (child only)
/some/directory/cars/
images/
cats.png -> /some/directory/common/images/cats.png
muffins.png -> /some/directory/maps/images/muffins.png
css/
styles.css -> /some/directory/common/css/styles.css
carsStyles.css (child only)
/images/muffins.png
そのため、現在のサイトに基づいて正しいメディアにシンボリック リンクして受信することができました。サイト固有のメディアは同じディレクトリ構造に保存されますが、そのサイトに固有のメディアのみを含む別の場所に保存されます。
問題は、私がどのようにしようとしても、2 番目の子が作成者ではなく親へのシンボリック リンクになってしまうことです。/some/direcory/cars/images/cats.png
上記の例では、共通メディアをプログラム的に指すことができず、マップ メディアのみを指すことができます。
現在、私はコマンドを使用していますcp -sR /some/directory/maps/* /some/directory/cars/
私はこれを PHP で実行していますが、現在、PHP関数でコマンドcp
とコマンドを使用してこれらの構造を構築しています。ln
exec()