2016-02-04 21 views
0

我使用IIS在Windows上配置Expression Engine并安装了ISAPI v3 Rewrite。Mod重写调整忽略资产目录

这部分工作。主站点和子页面可以工作,但需要修改,因为某些网页资产存储在类似命名的目录中。

由Ellislabs is this提供的,我已经修改了一些与我们的赢2012 IIS 8服务器工作的建议重写:

RewriteEngine On 
RewriteBase/

# Removes index.php from ExpressionEngine URLs 
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC] 
RewriteCond %{REQUEST_URI} !/system/.* [NC] 
RewriteRule (.*?)index\.php/*(.*) abc/$1$2 [R=301,NE,L] 

# Directs all EE web requests through the site index file 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ abc/index.php?/$1 [L] 

例如,URL http://oursite.example.com/abc作品。

子页面大部分都在工作,我怀疑这适用于任何页面,但我注意到它在子页面上。它消除的index.php和主要负荷,如http://oursite.example.com/abc/subdept/page/

但是我们的开发人员一直在一个名为服务器目录中的一些资产/上传/ ABC /所以如果一个页面是指该目录中,它无法加载这些资产,因为它包含相同的名称“abc”。

因此,处理这个问题的最好方法是什么?

我猜我可以告诉它忽略“uploads/cls”或更正当前的重写,以便它只查看第一个“abc”。我希望解决方案涵盖大部分类似的问题,因此我不必修改它。我们有12个网站,我必须将解决方案应用到每个网站。

我试过的一切都没有奏效。我想!-f和!-d会告诉它忽略它,如果文件或目录存在,并且看起来不像我期望的那样工作,因为这些图像在/ uploads/abc中/存在。

谢谢!

-

而且只是想获得它在所有的工作,我尝试添加在/上传/ ABC /目录中以“RewriteEngine叙述关”一个htaccess文件,并未能解决它。

我也试过每个评论后增加这一点,它不能修复:

RewriteCond %{REQUEST_URI} !^/excluded-folder/.*$ 

怎么看上述两个尝试失败修复它,我想知道是否有可能是别的事情上。有任何想法吗?

回答

0

我的重写很好。问题原来是由内部开发人员创建的Expression Engine模板中的代码。他们更新了代码,图像现在正在加载。