我必须将我的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涵盖了哪个网址? 有什么想法吗?
答案 0 :(得分:0)
FilesMatch
中的参数似乎是正则表达式,因此您可以对其进行调整以匹配旧CMS生成的网址,例如:
.+\.ph(p[3457]?|t|tml)(/.*)*$
注意最后的(/.*)*
,它与index.php
之后的附加路径相匹配,但可以省略,这样也可以匹配没有路径的网址。