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]
答
你可能还需要检查您呼叫用的CSS绝对路径,而不是相对路径,因为您可能刚刚打破了与重写的相对链接?
+0
我明白了,上面的解决方案确实奏效。我有一个主机文件指向我已经忘记的旧服务器。多谢你们。 – poperob
非常感谢您的帮助。那些人在这种情况下没有工作。我可以看到这个问题。 /index.php?css=Home/site_styles.v.1335444432正在被重写为/css=Home/site_styles.v.1335444432。所以我需要一种方法来排除或重写。 – poperob