0

Web アプリケーション、Apache、および PHP をインストールするために、Chef でクックブックを作成しました。この Web アプリケーションには、クライアントが次の URL でアクセスする PHP ドキュメントがあります。

 http://localhost/www-app/ClientFE

これには問題があります。デフォルトでは、PHP は PHP 拡張子を持つドキュメントのみを解釈します。私の URL には PHP 拡張子がないため、テキストとして解釈されます。クライアント (これもソフトウェア) を変更してはならないため、ファイルの拡張子を変更できません。

私が達成したいのは、PHP にそのドキュメントを解釈させることです。私が調べた限りでは、少なくとも 3 つの方法で達成できます: PHP を適切に構成する、エイリアスを作成する、書き換えルールを作成する。

最初に、必要なドキュメントを解釈するように PHP を構成できます。

<FilesMatch "/www-app/ClientFE">
    SetHandler application/x-httpd-php
</FilesMatch>

2 番目: mod_write を介してそれを行うことができます (Web アプリで塗りつぶしの名前を変更する必要がありますが、これも受け入れられます)。

RewriteCond ^/www-app/ClientFE /www-app/ClientFE.php

3 番目: mod_rewrite と同様の方法で mod_alias を使用して実行できます。

3つは私にとっては良いことですが、私の問題は、Chefでそれらを行う方法ですか? 私はそれについての有用なドキュメントを見つけることができませんでした.私はすでにこれを私のレシピに入れようとしました.

apache_rewrite do
    source "/www-app/ClientFE"
    target "/www-app/ClientFE.php"
end

この

apache_module "alias" do
    source "/www-app/ClientFE"
    target "/www-app/ClientFE.php"
end
4

1 に答える 1

0

私の会社の一部の人々は、2 つの有効な解決策を提案しました。

  1. Web アプリケーション内の .htaccess に構成を入れます。これは私にとってはうまくいき、上記の代替手段を使用できます。

  2. 何もしない!Apache2クックブックのMultiviewsオプションがデフォルトで有効になっており、ApacheがURLhttp://localhost/Ahttp://localhost/A.php ...として解決できるようになっていることがあります。つまり、ApacheがファイルAについて尋ねられ、それが見つからない場合、検索します代わりに A.php の場合。

2 つのうち、後者を選択しました。はい、動作します。私の多くの試みで A と A.php の両方を作成したため、以前は機能していませんでしたが、その場合、マルチビューは効果がありません。

于 2013-09-09T19:55:58.540 に答える