htaccess不适用于文件

时间:2016-11-17 04:46:00

标签: apache .htaccess

我们已将apache版本从2.2升级到2.4。现在我们面临着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文件。

1 个答案:

答案 0 :(得分:0)

我终于找到了我的问题的答案。这是因为ProxyPassMatch。我更改了ProxyPassMatch系列:

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

要:

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

现在它适用于我:)