【发布时间】:2020-09-15 07:41:50
【问题描述】:
我在 Xubuntu 上使用 Apache 2 来运行 TYPO3 的多个本地实例。由于他们使用不同的 TYPO3 和 PHP 版本,我使用 fastcgi 将请求传递给 TYPO3 版本 9.5.x 的请求到相应的 php7.2-fpm。
但是,除了“主页”、TYPO3 后端和 phpinfo 之外,没有其他页面正在加载。我只是收到一条原始 404 消息,看起来它来自 apache 而不是 TYPO3 本身。
我可以加载页面的唯一方法是当我使用 pageID 和一个参数调用它们来抑制重定向到“更漂亮”的 URL 时。这和原始错误页面让我相信问题出在我的 Apache 配置而不是我的 TYPO3 设置中。似乎对特定文件(/index.php、/typo3/index.php 和 /info.php)的每次调用都有效,但路由不起作用,因为 apache 尝试将其直接解析为文件/目录.
这是有问题的虚拟主机的 apache 配置:
<VirtualHost *:80>
ServerName test.test
DocumentRoot /var/www/foo/bar/httpdocs
# <FilesMatch \.php$>
# SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost"
# </FilesMatch>
ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/run/php/php7.2-fpm.sock|fcgi://localhost/var/www/foo/bar/httpdocs
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
评论部分是第一次尝试,当我注意到问题时,我在网上找到了“ProxyPassMatch”-Part并尝试了它,但我遇到了同样的问题。
【问题讨论】:
-
您的 TYPO3 文档根目录中是否有 TYPO3 的 .htaccess? TYPO3 附带了一个适当的 .htaccess,它具有说话 URL 的必要重写规则。
-
@PeterKraume 是的,我有,我没有改变任何东西。
-
可能需要加
RewriteBase /? -
@PeterKraume 我需要在哪里添加?
-
在
RewriteEngine on之后的.htaccess文件中。
标签: php typo3 apache2 typo3-9.x