日期:2014-05-17  浏览次数:20538 次

使用.htaccess重定向后无法显示图片,CSS失效
我的网站根目录下有三个子目录,分别通过htaccess绑定到了同一域名下的不同主机名,根目录下的.htaccess的具体内容如下: 

<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.org$ 
RewriteCond %{REQUEST_URI} !^/wp/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /wp/$1 
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.org$ 
RewriteRule ^(/)?$ wp/index.php [L] 

RewriteCond %{HTTP_HOST} ^(bbs\.)?mydomain\.org$ 
RewriteCond %{REQUEST_URI} !^/bbs/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /bbs/$1 
RewriteCond %{HTTP_HOST} ^(bbs\.)?mydomain\.org$ 
RewriteRule ^(/)?$ bbs/index.php [L] 

RewriteCond %{HTTP_HOST} ^(blog\.)?mydomain\.org$ 
RewriteCond %{REQUEST_URI} !^/blog/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /blog/$1 
RewriteCond %{HTTP_HOST} ^(blog\.)?mydomain\.org$ 
RewriteRule ^(/)?$ blog/index.php [L] 

</IfModule> 

现在我需要把这个域名泛解析到blog目录(*.mydomain.org),同时保持另外两个目录的解析不变。尝试对最后一段作以下修改后(前面的内容不变),出现问题:另两个目录中的网站内的图片无法显示,CSS全部失效。 
修改如下: 

RewriteCond %{HTTP_HOST} ^(.*\.)?mydomain\.org$ 
RewriteCond %{REQUEST_URI} !^/blog/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /blog/$1 
RewriteCond %{HTTP_HOST} ^(.*\.)?mydomain\.org$ 
RewriteRule ^(/)?$ blog/index.php [L] 

各目录下安装的程序分别为:

\bbs Discuz
\blog Supersite+S-Space
\wp WordPress

有哪位能帮忙解决这个问题?当然我的意思是用htaccess解决。我的站点在虚拟主机上,只能用这个实现。 

谢谢了!

------解决方案--------------------
http://phprimer.com/viewtopic.php?f=23&t=453
发现我上面说错了 ,为了弥补,给你找了个文章,希望对你有用!
------解决方案--------------------
给你一个例子,其他同理,你参考一下

RewriteRule !\.(js|ico|gif|jpg|png|css)$ /wp/$1
RewriteRule ^(.*)$ /wp/$1