2016-11-17 26 views
1

Apacheのバージョンを2.2から2.4にアップグレードしました。今、私たちはhtaccessファイルに関する問題に直面しています。ガベージデータをhtaccessファイルに追加しました。今のように動作します:ファイルに対してhtaccessが機能していません

1) http://example.com:8080/ : 500 internal error 
2) http://example.com:8080/index.php : showing the content of index.php file. 
2) http://example.com:8080/login.php : File not found 
3) http://example.com:8080/phpinfo.php : showing the content 

私は問題が何かを理解できません。 htaccessがファイルに対して機能していません。それはrootのためだけに働いています。 Apacheの設定内容:

<VirtualHost *:8080> 
    ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/example-test-apache-24/site/shadow-site/$1 
    UseCanonicalName On 
    loglevel emerg 

    DocumentRoot /var/www/html/example-test-apache-24/site/shadow-site 
    <directory "/var/www/html/example-test-apache-24/"> 
    options followsymlinks 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
    </directory> 
    ErrorLog /opt/rh/httpd24/root/etc/httpd/logs/siteerror_log 
</virtualhost> 

編集1: 私はちょうどそのhtaccessファイルは、画像のために働いて、CSSやJSファイルに気づきました。 phpファイルだけで動作しないように見えます。

+0

混乱して申し訳ありませんイム。あなたはそれがファイルのために働いていないと言ったが、最初のブロックではindex.phpとphpinfo.phpのために働くと述べている。また、「root」だけで動作すると言ったときの意味を明確にしてください。 – TDWebDev

+0

ファイルに対してhtaccessが機能していません。私のコード(htaccessファイルのガベージコード)に従って、ファイルは機能しません。 login.phpやphpinfo.phpのように500の内部エラーも表示されるはずです。しかし、それはファイルの内容を示しています。 – munjal

+0

ええ、私は理解していますが、あなたが最近Apacheのバージョンをアップグレードした場合、Apacheの設定ファイルも変更されている可能性があります。下位のサブディレクトリのhtaccessファイルを上書きする機能をリセット/削除した可能性があります。それをチェックする方法を知っていますか? – TDWebDev

答えて

0

最終的に私の質問の答えが見つかりました。それはProxyPassMatchが原因でした。

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/example-test-apache-24/site/shadow-site/$1 

:私はからProxyPassMatchラインを変更し

ProxyPassMatch ^/(index\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/example-test-apache-24/site/shadow-site/$1 

今、それは私のために正常に動作します:)

関連する問題