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