我们已将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文件。
答案 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
现在它适用于我:)