2

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

これらは私のルール、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;}";
?>

それがすべてですが、ルールは何もしません。ルールを正しい場所に配置しているかどうかはわかりませんが、.htaccess ファイルではなく httpd.conf ファイルでこれを行うことができることを理解しています。

4

2 に答える 2

1

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

RewriteRule の詳細については、こちらを参照してください。

于 2009-07-25T06:11:24.170 に答える
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>
于 2009-07-26T05:51:41.177 に答える