0

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

我的虚拟主机看起来像这样:

<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 生成的其他 url,例如:

http://site.pl/index.php/category/page

很明显,我收到 404 错误。

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

4

1 回答 1

0

in 的参数FilesMatch似乎是一个正则表达式,因此您可以调整它以匹配旧 CMS 生成的 URL,例如:

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

注意(/.*)*末尾的 ,它匹配 之后的附加路径index.php,但可以省略,这样没有路径的 URL 也会匹配。

于 2018-05-10T13:54:41.893 回答