XAMPP Mod_Rewrite&动态CSS

时间:2009-07-25 06:07:00

标签: mod-rewrite xampp dynamic-css

我在本地计算机(mac)上运行Apache,启用了Mod_Rewite,并在XAMPP的httpd.conf文件中设置了Allowoveride All。

这些是我的规则,httpd.conf文件的片段 -

RewriteEngine On
RewriteRule ^/setup/css/userlayout.css /setup/css/userlayout.php

Alias /ms "/Users/web/wwwroot/ms"

<Directory "/Users/web/wwwroot/ms">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

在我的index.php文件中,我有 -

<link rel="stylesheet" type="text/css" href="setup/css/userlayout.css?u=1" />

在我的userlayout.php文件中是 -

<?php
    header('Content-type: text/css');
    echo "#test{background-color:#000;}";
?>

这是一切,但规则不做任何事情。我不确定我是否将规则放在正确的位置,我知道你可以在httpd.conf文件而不是.htaccess文件中执行此操作。

2 个答案:

答案 0 :(得分:1)

RewriteRule ^ / setup / css / userlayout.css $ /setup/css/userlayout.php

您可以详细了解RewriteRule here

答案 1 :(得分:0)

我弄清楚问题是什么。 XAMPP设置需要mod_rewrite行“Options + FollowSymLinks”才能工作。此外,这必须放在不在其外的目录标记内,因为重写规则适用于每个目录,这就是我在“RewriteBase /”指令上收到错误的原因。

因此完整的代码是:

<IfModule mod_rewrite.c>
    Options +FollowSymLinks 
    RewriteEngine on
    RewriteBase /root
    RewriteRule ^setup/css/userlayout\.css$ setup/css/userlayout\.php
</IfModule>