0

以前は XAMPP を使用してローカルで開発していましたが、現在はローカル開発用に Ubuntu を実行している VMware 仮想マシンに切り替えています。すべてがセットアップされ、1 つのことを除けば、サイトのローカル バージョンが正常に実行されています... 次の行を含むスクリプトが css/style.css.php にありますが、どのサーバーであるかによって異なる方法で記述する必要があります。の上。

fopen("css/style.inc.css"); // Works on the live server

fopen("../css/style.inc.css"); // Works on the local server

fopen("/css/style.inc.css"); // DOES NOT work on either server

ファイル構造は、ライブ マシンとローカル マシンの両方で同じです。
この問題に関連している可能性があるのは、スクリプトが直接要求されず、代わりに /css/style.css が要求されたときに .htaccess を介してマップされることです。.htaccess ファイルは次のようになります。

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !=/favicon.ico
    RewriteRule ^(.*)$ rewrite.php?q=$1 [L,QSA]
</IfModule>

そして、rewrite.php ファイルは次のようになります...

if($_GET["q"] == "css/style.css"){
    include("css/style.css.php");
}

2 つのサーバーで異なる設定を診断して、同じように設定するにはどうすればよいですか?

4

2 に答える 2

0

最初のパス: `fopen("css/style.inc.css"); 次のように、CSS フォルダーがルート ディレクトリにあることを提案します。

-index.php //or whatever file has this line
-css
    -style.inc.css

2番目のパスは、次の構造を示唆しています

-css
    -style.inc.css
-some_web_folder
    -index.php

同じファイル構造を作成すれば、すべてうまくいくはずです。

于 2013-04-09T17:56:46.403 に答える