2012-07-23 88 views
2

這排除了原始URL中的CSS/JS/Images。任何人都知道如何解決這個問題?htacess排除CSS/JS /圖像

.htacess:

RewriteEngine on 
RewriteRule %{REQUEST_FILENAME} !-d 
RewriteRule %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)$ index.php?uri=$1 [QSA,L] 

PHP:

$splitarray = explode('/',$_GET['uri']); 
  • 我用PHP來獲得第二個參數爆炸URL和包括網頁的index.php
+0

你想* css/js /圖像通過'index.php'路由? – 2012-07-23 19:07:49

+0

是的。因爲我使用PHP include()函數來連接頁眉/內容頁面/頁腳。一種簡單的框架,使用簡單的方法:) – stackminu 2012-07-23 19:14:27

+0

另外,你確定第一個2'RewriteRule'行不應該是'RewriteCond'? – 2012-07-23 19:18:58

回答

3

嘗試:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f [OR] 
RewriteCond %{REQUEST_URI} \.(js|css|jpe?g|gif|png|bmp|ico)$ [NC] 
RewriteRule ^(.+)$ index.php?uri=$1 [QSA,L] 

因此,如果請求不是針對現有目錄,並且該請求不針對現有文件,或者該請求不針對以js,css,jpeg,jpg,gif結尾的文件,則會通過index.php ,png,bmp,ico。

+0

圖像,JS,現在工作正常,但它不會通過URI到index.php!這是一個很大的問題。 :/ – stackminu 2012-07-23 19:38:59

+0

'RewriteRule ^(。+)$ index.php?uri = $ 1 [QSA,L]'不工作,因爲RewriteEngine是關閉的! – stackminu 2012-07-23 19:48:55

+0

@stackminu對不起,並不意味着你想擺脫重寫引擎的界限。只是你想用這個替換你的'RewriteRule'行。 – 2012-07-23 19:53:39