2014-01-11 186 views
0

我正在使用scssphp进行我的css预处理,现在我的样式看起来像src="style.php/style.scss"。我想要的是使用htaccess来写入风格,然后以.scss结尾的任何内容都将通过style.php运行。所以我试着把它放在我的主目录中。.htaccess重写规则不起作用

RewriteEngine On 
RewriteRule ^(.*)\.scss$ style.php/$1.scss 

我甚至尝试

#RewriteEngine On 
#RewriteRule ^(.*)\.scss$ style.php/style.scss 

无论是工作,事情正在发生,因为我style.scss加载了500内部服务器错误,但我不知道哪里出错。

回答

1

你的规则是循环试试你的htaccess,尝试添加额外的检查,当URI具有style.php在不重写它:

RewriteEngine On 
RewriteCond %{REQUEST_URI} !style\.php 
RewriteRule ^(.*)\.scss$ style.php/$1.scss 

重写引擎将继续遍历你的规则,直到URI停止chanmging。你的规则发生了什么事情,像/path/style.scss这样的请求正在处理并重写为/style.php/path/style.scss,并且重写引擎循环。第二次,规则再次被应用并重写为:/style.php/style.php/path/style.scss等。

0

更好的正则表达式来获得请求的文件名会[a-z_A-Z]+.scss

使用此语法