使用.htaccess重定向后无法显示图片,CSS失效,该如何处理

2019-11-12 02:56:39

参考地址  使用.htaccess重定向后无法显示图片,CSS失效,该如何处理

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

<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> 12345678910111213141516171819202122232425262728

现在我需要把这个域名泛解析到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] 1234567

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

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

------解决方案--------------------
给你一个例子,其他同理,你参考一下

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


  • 2017-09-11 11:30:09

    linux 获取经过N层Nginx转发的访问来源真实IP

    通常情况下我们使用request.getRemoteAddr()就可以获取到客户端ip,但是当我们使用了nginx作为反向代理后,由于在客户端和web服务器之间增加了中间层,因此web服务器无法直接拿到客户端的ip,通过$remote_addr变量拿到的将是反向代理服务器的ip地址。如果我们想要在web端获得用户的真实ip,就必须在nginx这里作一个赋值操作,如下:

  • 2017-09-11 16:15:11

    Nginx日志管理

    通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的信息。

  • 2017-09-11 16:34:14

    Nginx如何保留真实IP和获取前端IP

    squid,varnish以及nginx等,在做反向代理的时候,因为要代替客户端去访问服务器,所以,当请求包经过反向代理后,在代理服务器这里这个IP数据包的IP包头做了修改,最终后端web服务器得到的数据包的头部的源IP地址是代理服务器的IP地址,这样一来,后端服务器的程序给予IP的统计功能就没有任何意义,所以在做代理或集群的时候必须解决这个问题,这里,我以nginx做集群或代理的时候如何给后端web服务器保留(确切的说是传递)客户端的真实IP地址。

  • 2017-09-11 16:35:22

    ngx_http_realip_module使用详解

    网络上关于ngx_http_realip_module的文章千篇一律,全是在说怎么安装,最多贴一个示例配置,却没有说怎么用,为什么这么用,官网文档写得也十分简略,于是就自己探索了一下。

  • 2017-09-11 16:39:43

    基于Nginx dyups模块的站点动态上下线

    在分布式服务下,我们会用nginx做负载均衡, 业务站点访问某服务站点的时候, 统一走nginx, 然后nginx根据一定的轮询策略,将请求路由到后端一台指定的服务器上。

  • 2017-09-13 13:49:21

    Web性能测试:工具之Siege详解

    Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力。可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。siege可以从您选择的预置列表中请求随机的URL。所以siege可用于仿真用户请求负载,而ab则不能。但不要使用siege来执行最高性能基准调校测试,这方面ab就准确很多

  • 2017-09-14 10:18:25

    15分钟成为Git专家

    不管是以前使用过 Git 还是刚开始使用这个神奇的版本控制工具的开发者,阅读了本文以后都会收获颇丰。如果你是应一名有经验的 GIT 使用者,你会更好的理解 checkout -> modify -> commit 这个过程。如果你刚开始使用 Git,本文将给你一个很好的开端。