【问题标题】:XAMPP Mod_Rewrite & dynamic CSSXAMPP Mod_Rewrite & 动态 CSS
【发布时间】:2010-11-13 23:01:12
【问题描述】:

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

这些是我的规则,httpd.conf 文件的 sn-p -

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 文件中执行此操作。

【问题讨论】:

  • 试试&lt;VirtualHost&gt; 块中的规则。

标签: mod-rewrite xampp dynamic-css


【解决方案1】:

重写规则 ^/setup/css/userlayout.css$ /setup/css/userlayout.php

你可以看到更多关于 RewriteRule here.

【讨论】:

  • 没什么。我怀疑这条规则没有任何问题。事实上,我无法证明 mod-rewrite 是否有效,除非放入 RewriteBase / 我收到一条我根本不应该收到的大错误消息。嗯....
  • 如果您使用的是最新版本的 XAMPP(适用于 windows),我很确定它已默认安装并处于活动状态。
  • 那么必须是别的东西。有人有什么想法吗?
【解决方案2】:

我发现了问题所在。 XAMPP 设置需要“Options +FollowSymLinks”行才能使 mod_rewrite 工作。此外,这必须放在目录标签内,而不是在它之外,因为重写规则对每个目录都有效,这就是我收到“RewriteBase /”指令错误的原因。

因此完整的代码是:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-02
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 2010-10-07
    • 2014-03-29
    • 1970-01-01
    相关资源
    最近更新 更多