.htaccess重定向/ sub_dir / img改为使用/ img

时间:2012-07-12 15:26:13

标签: php .htaccess

我在名为www/sub_dir的目录中有一个文件。该sub_dir目录中的索引文件调用img/logo.png

我可以将.htaccess文件放在www/img目录中而不是文件的www/sub_dir/img,而不是使用我的所有图像的完整路径吗?

4 个答案:

答案 0 :(得分:0)

如果www是您的网络根目录,您可以在图片的uri上放置一个前导/。例如,如果您的图片位于http://www.yoursite.com/img/logo.png,则网站上的任何子目录都可以/img/logo.png来访问它。领先/只是意味着“顶级”。所以/img/logo.png表示“顶级,然后是img文件夹,然后是文件logo.png

答案 1 :(得分:0)

  1. 如果适用,请考虑使用<base href="...">。这样,无论您在哪个子目录中,您仍然可以使用img/css/等。

  2. 如果这是一个特定的文件夹,请考虑使用symlinks。只需ln -s ../img .并将Options +FollowSymLinks添加到a​​pache配置或.htaccess。

  3. 您可以在子文件夹中的文件中轻松使用/img/logo.png../img/logo.png ...

  4. 如果以上建议都不是一个选项,请将以下重写规则添加到您的网络根目录.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]