2012-05-03 41 views
0

慈善機構要求我幫助他們使用他們的新網站,這是一個使用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] 

回答

1

把這個

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

0

你可能還需要檢查您呼叫用的CSS絕對路徑,而不是相對路徑,因爲您可能剛剛打破了與重寫的相對鏈接?

+0

我明白了,上面的解決方案確實奏效。我有一個主機文件指向我已經忘記的舊服務器。多謝你們。 – poperob