0

Web サイトで PHP5 を有効にしましたが、PHP5 を機能させるには、Web ホストから .htaccess ファイルに以下を追加する必要があります。

AddHandler アプリケーション/x-httpd-php5 .php5 .php4 .php .php3 .php2 .phtml
AddType アプリケーション/x-httpd-php5 .php5 .php4 .php .php3 .php2 .phtml

ローカルで XAMPP を実行してコードを開発していますが、XAMPP は上記の .htaccess ファイルを操作したくありません。

XAMPPがphp5を認識しない問題だと思います(ただし、「application/x-httpd-php5」の代わりに「application/x-httpd-php」を使用するとphpを認識します)

これを解決するにはどうすればよいですか?! 上記のように .htaccess ファイルが必要なので、ウェブホストで動作しますが、変更を加えずに同じファイルでローカルで動作するには XAMPP が必要です!

4

3 に答える 3

3

Apacheには<IfDefine>ディレクティブがあります。AddTypeこれを使用して、自分のサーバーから隠すことができます。

<IfDefine !MyServer>
AddType application/x-httpd-php5 .php5 …
…
</IfDefine>

そしてApacheを起動します

apachectl -D MyServer
于 2008-10-11T11:57:01.843 に答える
0

だから、あなたは一種の厳しい場所にいます。理想的に言えば、ウェブホストは htaccess ファイルに余分なガンクを入れる必要がないはずです。XAMPP についてよく知らないので、特定の解決策を提供することはできませんが、いくつかのヒントを提供できます。

  1. Web ホストは、application/x-httpd-php5 を使用するカスタム コンパイル バージョンの PHP を実行しています。PHP を自分でビルドしたり、SAPI レイヤーが適切に構成されたカスタム ビルドを見つけたりすることは完全に可能ですが、おそらくこれを行いたくないでしょう。

  2. ホストが htaccess ファイルにどの程度の余裕を与えているかによっては、<IfDefine> または <IfModule> を使用して PHP ファッジ コードを条件付きでのみ実行できる場合があります。私はテストしていません。ウェブホストがこの機能を無効にしている可能性があります。また、テストする適切な条件を見つける必要があります。

  3. 私のお気に入りの答えは、それを吸い上げて、個別の htaccess ファイルを維持することです。私は自分のウェブサイトでこれを行います。「グローバル」宣言を含む .htaccess.in ファイルと、構成などに基づいて実際の .htaccess ファイルを生成する htaccess.php ファイルがあります。

それが役立つことを願っています。

于 2008-10-11T05:36:04.047 に答える
0

別の簡単な解決策:自宅で構成ファイル名を変更します。たとえば、httpd.conf で:

<Directory />
    #existing stuff here...
    AccessFileName .htaccess.home
</Directory>

これで、ホーム サーバーは「.htaccess」ファイルを無視します。「.htaccess.home」ファイルで構成します。

于 2009-03-28T04:56:07.953 に答える