2009-07-25 14 views
2

Mod_Rewiteを有効にし、Allowoveride AllをXAMPPのhttpd.confファイルに設定して、ローカルコンピュータ(Mac)でApacheを実行しています。XAMPP Mod_Rewrite&dynamic CSS

これらは私のルールです、httpd.confファイルのスニペット - 私は私のindex.phpファイルで

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> 

-

<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;}"; 
?> 

それ以外は何もしません。ルールを適切な場所に置いているかどうかは分かりません。このルールを.htaccessファイルではなくhttpd.confファイルで実行できることを理解しています。

+0

があなたの '' ブロック内のルールを試してみてください。 – Gumbo

答えて

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> 
1

のRewriteRule^/セットアップ/ CSS/userlayout.css $ /setup/css/userlayout.php

あなたはするRewriteRule hereについての詳細を見ることができます。

+0

いいえ、何もありません。私はルールに間違いがないと思う。私がRewriteBaseを置いた場合を除いて、mod-rewriteがまったく動作しているかどうかはわかりません。大きなエラーメッセージが出ます。 hmmm .... – EddyR

+0

最新バージョンのXAMPP(Windows用)を使用している場合は、デフォルトでインストールされアクティブになっていると確信しています。 – Nathan

+0

はそれ以外のものでなければなりません。誰にもアイデアはありますか? – EddyR