大家好: 我的服务器中部署的web服务器套件是 apache2.4+php5.6,我在 .haccess 规则配置文件中配置了如下配置内容 <IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^.*(/.css|/.js|/.gif|/.png|/.jpg|/.jpeg)$
RewriteRule ^(share|share(/.*))$ /mod/share$2 [L]
RewriteRule ^([A-Za-z0-9]{3,}\$)$ /mod/share/forward.php?sid=$1 [L,R=302]
</IfModule> --------- 以上红色部分 RewriteRule ^(share|share(/.*))$ /mod/share$2 [L] 配置项的用意是将在 url 中以 share 开头的虚拟路径映射到真实路径 /mod/share。如 http://abc.com/share 映射到 http://abc.com/mod/share,将 http://abc.com/share/?v=f1 映射到 http://abc.com/mod/share/index.php?v=f1。 配置该 rewrite 规则后,/mod/share/index.php 页面能打开进入,但页面的图片不显示和一些js文件报却找不到了,这些资源文件使用的都是相对路径的。删除以上红色 rewrite 配置规则或加入 [R=302] 跳转是正常的,图片和资源文件都能正常显示和找到。 请问: 1、是否是我以上的 rewrite 配置规则有问题呢? 2、应如何配置该 rewrite 映射虚拟路径的规则,但页面图片及各资源文件都能正常显示和找到呢? 待复,衷心感谢
|