我在一个名为www/sub_dir. 该sub_dir目录中的索引文件调用img/logo.png.
我可以只放置一个.htaccess将在www/img目录中而不是文件中查找的文件,而不是为我的所有图像使用完整路径www/sub_dir/img吗?
在 /www/sub_dir/img/ 目录中试试这个 .htaccess 文件
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)$ /www/img/$1 [QSA,L]
通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccess的DOCUMENT_ROOT目录下:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteRule /(img/.+)$ $1 [NC,L]
如果 www 是您的 web 根目录,您可以/在图像的 uri 上放置一个前导。例如,如果您的图像位于http://www.yoursite.com/img/logo.png,则您可以放置网站上的任何子目录/img/logo.png来访问它。领先/只是意味着“顶级”。所以/img/logo.png意思是“顶层,然后是img文件夹,然后是文件logo.png”
<base href="...">如果适用,请考虑使用。这样,无论您在哪个子目录中,您仍然可以使用img/,css/等。
如果这是单个特定文件夹,请考虑使用symlinks. 只需ln -s ../img .添加Options +FollowSymLinks到 apache 配置或 .htaccess。
您可以轻松地使用/img/logo.png或../img/logo.png在子文件夹中的文件中...
如果上述建议均不可行,请将以下重写规则添加到您的 Web 根目录 .htaccess 中:
RewriteEngine on
RewriteBase /
RewriteRule ^sub_folder/(img/.*) $1 [L]