2010-12-13 100 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