CSS文件上的Apache重写排除

问题描述:

慈善机构要求我帮助他们使用他们的新网站,这是一个使用Expression Engine的PHP网站。CSS文件上的Apache重写排除

他们要求我摆脱.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] 

把这个

RewriteRule ^(site_styles)($|/) - [L] 
如果你想多东西排除

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

非常感谢您的帮助。那些人在这种情况下没有工作。我可以看到这个问题。 /index.php?css=Home/site_styles.v.1335444432正在被重写为/css=Home/site_styles.v.1335444432。所以我需要一种方法来排除或重写。 – poperob

你可能还需要检查您呼叫用的CSS绝对路径,而不是相对路径,因为您可能刚刚打破了与重写的相对链接?

+0

我明白了,上面的解决方案确实奏效。我有一个主机文件指向我已经忘记的旧服务器。多谢你们。 – poperob