我的网站根目录下有三个子目录,分别通过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
------解决方案--------------------
给你一个例子,其他同理,你参考一下
RewriteRule !\.(js|ico|gif|jpg|png|css)$ /wp/$1
RewriteRule ^(.*)$ /wp/$1