2010-12-13 108 views
0

嘿,我試圖使用mod_rewrite使http://example.com/style/universal.css顯示頁面:重寫規則不工作時,文件擴展名包括

RewriteRule ^style/([^/\.]+)\.css$ style.php?n=$1 

但它似乎並不工作,出於某種原因,而不是顯示一個404 Not Found這甚至不是正確的404頁面。

我曾嘗試與RewriteRule

RewriteRule ^style/([^/\.]+)$ style.php?n=$1 

其中一期工程做不帶擴展名.css(即http://example.com/style/universal),但我更喜歡它,如果我能得到它與.css擴展工作。

如果使用文件擴展名,這似乎是服務器忽略RewriteRule的情況。有沒有RewriteCond或者我失蹤的東西?

我還要提到的是存在於父目錄.htaccess是由WordPress的設置,這個內容是:

RewriteEngine on 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

任何幫助將真正理解。

在此先感謝布拉德。

+1

FWIW,如果您確保從您的PHP腳本發送Content-Type:text/css HTTP標頭,則不需要'.css'擴展名。 – 2010-12-13 17:09:38

回答

0

設置你的mod_rewrite的記錄所有它不處理您的網址

RewriteLog "/tmp/mysite_rewrite.log" 
RewriteLogLevel 6 

讀取日誌的步驟,你應該能夠理解你的網址是如何改寫,這是什麼問題。

+0

它似乎沒有工作,日誌保持空白。 – Brad 2010-12-13 17:49:18

+0

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog – munissor 2010-12-14 09:49:11

+0

我沒有自己的服務器。有沒有其他方法可以調試? – Brad 2010-12-18 17:22:17