从子域重定向到目录时图像无法正确加载

时间:2013-01-24 04:32:37

标签: apache .htaccess mod-rewrite

基本上,我的目录/website.com/包含index.php

通常会发生的是我有一个htaccess文件将URL重定向到索引,所以像

domain.com/api/

会加载

domain.com/index.php?uri=api/

但是现在说,我想使用子域,而不是拥有子目录,如:

api.domain.com

会跑:

domain.com/index.php?uri=api/

我目前的方法几乎有效。我的htaccess文件看起来像:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^api
RewriteRule ^(.*)$ index.php?uri=api/$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?uri=$1 [L,QSA]

哪个适用于URL部分。但是当我试图加载图像时,问题出现了。

基本上,它不是从基本目录加载,而是将目录附加到URL上。

因此,当我在api.domain.com/v1/上请求图片时,它正在尝试从

加载图片
domain.com/v1/image.png

而不是

domain.com/image.png

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我认为我发现的解决方案是在包含图像时(在我的CSS中)使用绝对URL而不是相对URL。

所以而不是

background:url(background.png);

我用过

background:url(http://domain.com/background.png);

不是我理想的解决方案,但它是一种解决方法。如果有人有更好的方法来解决我的问题,我很乐意使用。