0

重複の可能性:
.htaccess 画像ファイルを php スクリプトに書き換える

ユーザーが PHP ファイルではないページ/ファイルにアクセスしたときに PHP スクリプトを実行するにはどうすればよいですか?

たとえば、.css ファイルにアクセスした場合、アクセスする前に php コードを実行できるようにするにはどうすればよいでしょうか?

4

2 に答える 2

1

これはより単純なアプローチですが、PHP に CSS を出力させ、CSS ファイルを PHP ファイルとして解析するようにサーバーを構成することができます。

したがって、Apache を使用している場合は、次のようにします。

AddType application/x-httpd-php .css

次に、CSS ファイルで次のようにします。

<?php
// Code to execute because user is accessing CSS file

// Output CSS below here
header("Content-type: text/css"); 
?>
body {
}
于 2012-06-28T01:05:57.187 に答える
0

<?xml?>非 php ファイルにハンドラーを追加する代わりに、apache がそれらを php として解析しようとし、エラー (宣言を含むXML ファイルなど) を見つける可能性があることを意味します。次のようにすることができます。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]        # if URI is not index
    RewriteCond %{REQUEST_FILENAME} !-f   # and URI is not file on disk
    RewriteCond %{REQUEST_FILENAME} !-d   # and URI is not directory on disk
    RewriteRule . /index.php [L]          # redirect to index
</IfModule>

通常、存在しない URI のすべてのトラフィックをメイン アプリケーションのブートストラップにリダイレクトしますindex.php

そして、特定の (セットの) ファイルのみが存在する場合でもリダイレクトされるようにルールを追加して、上記を調整します。リダイレクト後、$_SERVER['REQUEST_URI'] を確認し、リクエストが最初にどこから来たのかを調べます。それが css ファイルである場合は、ファイルを fopen し、それを読んで処理し、処理されたコンテンツをユーザーにエコーします。

このアプローチは、ファイルがダウンロードされるのを防ぎます。

于 2012-06-28T01:13:17.640 に答える