CSSファイルがあり、そのファイルの画像パスをPHP可変形式で参照します。次に、htmlファイル内のそのcssファイルを参照します。以下は私のファイルです
CSSファイル
<? header ("Content-type: text/css");?>
body{ margin:0px; font:9px/11px "Tahoma", Arial, Helvetica, sans-serif; color:#010000;
background:#f3f6e1 url(<?php echo base_url().'public/';?>images/body_bg_1.gif) repeat-x 0 0}
HTMLファイル
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="css/layout.css" media="screen">
</head>
他のもの。これを行う方法を説明してもらえますか?
CSSファイルの名前を「layout.php」に変更できる場合、これらの回避策はすべて必要ありません。
Layout.phpファイルは次のようになります。
<?php header("Content-type: text/css; charset: UTF-8"); ?>
body{ margin:0px; font:9px/11px "Tahoma", Arial, Helvetica, sans-serif; color:#010000;
background:#f3f6e1 url(<?php echo base_url().'public/';?>images/body_bg_1.gif) repeat-x 0 0}
HTMLファイルは次のようになります。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="css/layout.php" media="screen">
</head>
この質問は非常に似ています: 含める:phpファイル拡張子のあるcss?
おそらく、base_url()
の戻り値がパス区切り文字で終わっていない可能性があります。
それを念頭に置いて、これを試してください:
@import url("<?php echo base_url().'/public/';?>css/layout.css");
(「パブリック」の前のスラッシュに注意してください)
@import
正しいまたは
また、ブラウザでCSSを表示して、コンテンツが正しく構築されているかどうかを確認します。 <?php
応答内で、ApacheがCSSファイルをPHPであるかのように扱う必要があります。
次のようなものを.htaccessファイルに追加できます。
<FilesMatch "\.css$">
SetHandler application/x-httpd-php
Header set Content-type "text/css"
</FilesMatch>
Header
ディレクティブの使用を許可するには、「mod_headers」Apacheモジュールが有効になっていることを確認する必要があります。
個人的には、このような動的スタイルシートの名前を.php.css拡張子に変更します。これは効果がありませんが、動的スタイルシートをPHPプリプロセッサのみに渡すようにApacheを設定できます。
<FilesMatch "\.php\.css$">
SetHandler application/x-httpd-php
Header set Content-type "text/css"
</FilesMatch>
問題は、.css
ファイルはPHPと解釈されないため、ファイル内のコードは実行されません。PHP =ファイル、コードを実行し、値を入力する必要があります。
[編集]元の投稿のコメントで誰かがリンクされた回答 ここ で指摘されているように、これはそれを行う方法のようです。
URLの書き換えに関する知識が少しあれば簡単です。
ルートディレクトリに.htaccessファイルを作成します。次のようになります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^customized\.css$ css\_generator\.php [L]
</IfModule>
次に、コンテンツを持つファイルcss_generator.phpを作成します。
<?php header('Content-type: text/css; charset: UTF-8'); ?>
body{ margin:0px; font:9px/11px "Tahoma", Arial, Helvetica, sans-serif; color:#010000;
background:#f3f6e1 url(<?php echo base_url().'public/';?>images/body_bg_1.gif) repeat-x 0 0}
HTMLは次のようになります。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="customized.css" media="screen">
</head>
起きたことを理解する。
お役に立てれば