mod_rewrite - 修复绝对路径

时间:2013-12-18 18:35:26

标签: linux apache .htaccess mod-rewrite

我在暂存环境中有一个站点,该站点位于虚拟目录中的IP上,例如:http://0.0.0.0/~drupal。问题是,我使用绝对路径设置了所有图像,css和js URI,例如:/path-to-image/img.jpg

由于网站位于目录中,/path-to-image/img.jpg指向http://0.0.0.0/path-to-image/img.jpg

而不是http://0.0.0.0/~drupal/path-to-image/img.jpg

我认为解决方案在于利用mod_rewrite,但无法实现成功的解决方案。

旁注:我认为在查看网站时也可以在我的本地计算机上修改我的主机文件以获得所需的效果。但是,这不是一个选项,因为会有许多方在观看网站时进行更改。

1 个答案:

答案 0 :(得分:1)

您可以尝试将其添加到 DOCUMENT ROOT ,这意味着http://0.0.0.0/访问的目录:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/~drupal%{REQUEST_URI} -f
RewriteRule ^(.*)$ /~drupal/$1 [L]