Apache重写CSS文件排除

时间:2012-05-03 14:29:58

标签: apache codeigniter mod-rewrite rewrite expressionengine

一个慈善机构让我帮助他们使用他们的新网站,这是一个使用Expression Engine进行博客的PHP网站。

他们要求我摆脱.php扩展并将/index.php/blog中的表达引擎路径重写到/ blog。我通过下面的重写完成了这个,但是博客的CSS文件没有被显示,必须在重写中被捕获。

我如何排除?

mysite.org/?css=Home/site_styles.v.1335444432

从重写?

非常感谢。

DirectoryIndex home.php
Options Indexes Includes FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^GET\s.+\.php [NC]
RewriteRule ^(.+)\.php$ /$1 [NE,R=301,L,NC]
RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)/?$ /$1.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]  

2 个答案:

答案 0 :(得分:1)

在所有其他规则之前加上

RewriteRule ^(site_styles)($|/) - [L]

如果您想要排除多个内容:

RewriteRule ^(site_styles|js|css|images)($|/) - [L]

答案 1 :(得分:0)

您可能还想检查您是否使用绝对路径调用CSS,而不是相对路径,因为您可能刚刚打破了与重写的相对链接?