gpt4 book ai didi

css - 在子文件夹中使用 htaccess 从 css 动态加载图像

转载 作者:行者123 更新时间:2023-11-28 18:01:14 24 4
gpt4 key购买 nike

我正在本地网络服务器中创建多个网站。在使用子文件夹时从 css 文件动态加载图像时遇到问题。

这是我的结构:

Root folder
site1
index.php (loads templates using Smarty)
.htaccess
public_files
css
js
img
templates

这是我的 .htaccess 的样子:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([a-zA-Z]+)$ index.php?uri=$1 [L]
RewriteRule ^(css|js|img)/(.*)$ public_files/$1/$2 [L]

加载我的 css 确实有效:

<link href="css/style.css" rel="stylesheet" />

但是在这个css中我无法加载图片

background-image: url("img/background.jpg");

我认为这是因为这一行是从 css 文件夹中调用的。但是当我使用 /img/... 时,它会在根目录中查找,这也不是正确的位置,因为我在一个子文件夹中。

最佳答案

保持你的 site1/.htaccess 像这样:

RewriteEngine On
RewriteBase /site1/

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([a-zA-Z]+)$ index.php?uri=$1 [L]

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/public_files/ [NC]
RewriteRule (?:^|/)css/(img/.+)$ public_files/$1 [L,NC]

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/public_files/ [NC]
RewriteRule (?:^|/)((?:css|js|img)/.+)$ public_files/$1 [L,NC]

关于css - 在子文件夹中使用 htaccess 从 css 动态加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20355145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com