各画像ファイルを特定のディレクトリ (「example.com/image.jpg」) 内で開いて css ファイルをロードし、画像を 100% 幅でロードできるようにしたいと考えています。
編集:明確にするために、内部にCSSを含むHTMLファイルをロードすることでこれを行う必要があることを認識しています。私の本当の質問は、ディレクトリ自体ではなく、CSSスタイルで内部のファイルをターゲットにする方法です。
htaccess の Rewrite ルールを使用して、CSS を指定できる HTML ファイルを介してそれらをロードしてみませんか? 画像だけでは CSS を使用できません。
解決策は、a) 写真をアクセスできる場所に移動することですが、ユーザーがアクセスするパスに直接移動することはできません。b) htaccess から一部の HTML コンテンツにパラメーターを渡す php ファイル (またはその他) を作成し、c)実際のファイルがあるフォルダーに直接アクセスしない限り、リダイレクトを行うhtaccessを作成します。そうしないと、リダイレクトの無限ループが発生します
したがって、fullscreen.php と .htaccess の 2 つのファイルを作成しました。次に、画像が存在する /img/ という名前のフォルダーを作成しました。
私は fullscreen.php をできるだけシンプルに保ちました。自由にスタイルを改善してください!
<?
if(isset($_GET['img']))
{
$imageParam = $_GET['img'];
echo "<html><head><style>html { background: url($imageParam) no-repeat center center fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }</style></head><body></body></html>";
}
else
{
echo "Image not provided";
}
次に、.htaccess に条件付きの書き換えルールを追加しました。パスに /img/ が含まれている場合はルールを処理しないでください。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/img/
RewriteRule ^(.*).png$ fullscreen.php?img=/img/$1.png [L,NC]
</IfModule>
これがあなたが探していたものだと思いますか?