Apache2,FastCGI,PHP5和没有.php sufix的网址

时间:2018-05-10 13:46:03

标签: php joomla1.5 apache2.4 mod-fastcgi

我必须将我的Apache2服务器配置为托管基于Joomla 1.5的旧Web应用程序。 Apache在Debian Stretch上运行,PHP 7为mod_php。我设法将PHP 5.6安装为FastCgi模块,它看起来像是替代PHP 7。

我的VirtualHost看起来像这样:

<VirtualHost *:80>

  ServerName site.pl

  DocumentRoot /var/www/site/html
  DirectoryIndex index.html index.php

  <FilesMatch ".+\.ph(p[3457]?|t|tml)$">
        SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost"
  </FilesMatch>

</Virtualhost>

它适用于基本网址,例如:

http://site.pl/index.php

问题在于此旧CMS生成的其他网址,例如:

http://site.pl/index.php/category/page
显然,我得到404错误。

我不知道如何保留这种网址并使用FastCgi代理处理它们。 FileMatch涵盖了哪个网址? 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

FilesMatch中的参数似乎是正则表达式,因此您可以对其进行调整以匹配旧CMS生成的网址,例如:

.+\.ph(p[3457]?|t|tml)(/.*)*$

注意最后的(/.*)*,它与index.php之后的附加路径相匹配,但可以省略,这样也可以匹配没有路径的网址。