2016-09-08 7 views
0

私はwhm/cpanelサーバーでホストしています。私のサイトのうちの2つに.htmlファイルを.phpに解析する.htaccessファイルがありました。Apache 2.4用の.htaccessで.htaccessを解析する.html。

ただし、サーバーはApache 2.4とPHP 5.5.38にアップグレードされています。

これ以降、.htaccessファイルはPHPとして.htmlを解析していません。私はサーバープロバイダーに連絡を取り、2.4の構文が分からないと言っていました。

私は初心者です。誰かが正しい.htaccessコードで私を手伝ってくれていて、インストールするモジュールやルートレベルに追加するスクリプトがある場合は、手順のガイダンスを私に指示してください。 。事前に

おかげで...

答えて

1

私は2.2と2.4の間AddTypeまたはAddHandlerディレクティブへの変更を認識していないよ - それはあなたのhtaccessファイルは、単純に実行されていない場合可能性があり(経由無効AllowOverrideなど)、または新しいバージョンと互換性のないその他の指令が含まれていることがあります。

必要なディレクティブのようなものでなければなりません:構成に応じて

AddType application/x-httpd-php .html .htm 

または

AddHandler application/x-httpd-php .html .htm 

http://httpd.apache.org/docs/current/mod/core.html#sethandler .htaccessファイルがどのように見えるはずです ごとAllowOverideがでSetHandlerが許可されているようなものであると仮定すると、

+0

動作しません。 AddHandlerとAddTypeの両方で試しました。 私は、他のソースから読んだように、インストールされるモジュールやhttpd.confファイルに書き込まれる行があると思います。 PHPとCGIの接続はありますか? AllowOverrideはどこで有効または無効になっていますか? ありがとうございます。 – Subhendu

+0

AllowOverrideは通常、サイトのconfファイルにあります。このようなことができれば、htaccessを読むことができるはずです。 Ubuntuのconfファイルは通常/ etc/apache2/sites-availableにあります。 <ディレクトリ/ var/www /の> オプションFollowSymLinksをMultiViewsを AllowOverrideのすべて 注文ができるように、 はすべて –

0

... ...

<FilesMatch "\.html$"> 
    SetHandler application/x-httpd-php 
</FilesMatch> 

チェック/etc/apache2/apache2.confと/etc/apache2/conf.d AllowOverrideは通常設定されます。使用可能なメソッドの構文とリストについては、http://httpd.apache.org/docs/current/mod/core.html#allowoverrideを参照してください。

+0

はこの応答を受信したから許可拒否:当社のサーバー上で これは 「AllowOverrideのすべてのオプションのExecCGI FollowSymLinksを設定されていますIncludeNOEXECインデックスSymLinksIfOwnerMatch " 大丈夫ですか?それとも何か他のことはやっていますか? public_htmlで.htaccessファイルを使用して変更を加えましたが、それでも無視されます。 – Subhendu

+0

その構文はわかりません。「すべて」ですが、それ以外のいくつかは許可されていますが、まだ「SetHandler」は許可されていません。 :( –