gpt4 book ai didi

apache - Symfony 2.4 的 ProxyPassMatch 规则

转载 作者:行者123 更新时间:2023-12-05 07:59:27 25 4
gpt4 key购买 nike

我正在使用 mod_proxy_fcgi 和 PHP-FPM 运行 Apache,并试图让它在 Symfony 中运行。这是我使用 Symfony 的第一个项目,目前我只是在感受它......

我的虚拟主机定义目前看起来像:

<VirtualHost *:80>
ServerName symfony.dev
Documentroot "/vagrant/symfony/web"
DirectoryIndex app.php

ProxyTimeout 600
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:5090/vagrant/symfony/web/$1

<Directory "/vagrant/symfony/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

当我转到 http://symfony.dev/app_dev.php/ 时,页面加载,但所有链接/路径都包含完整的文件系统页面。例如,“运行演示”的链接是 http://symblog.dev/vagrant/symfony/web/app_dev.php/demo/

是否有不同的 ProxyPassMatch 规则可以工作,或者可以补偿的 Symfony 配置?

我尝试了 ^/(.*\.php)(/.*)?$ 来加载 app_dev.php/,但是 app_dev .php/demo/ 似乎加载 app_dev.php 而不是演示,内联资源的路径损坏。

最佳答案

我在使用 ProxyPassMatch 时遇到了同样的问题,但是使用 SetHandler 一切正常。

<VirtualHost *:80>
ServerName project.dev
ServerAlias www.project.dev


<FilesMatch \.php$>
SetHandler proxy:fcgi://127.0.0.1:9000
</FilesMatch>

#ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/project/web/$1

## Vhost docroot
DocumentRoot "/var/www/project/web"

## Directories, there should at least be a declaration for /var/www/awesome
<Directory "/var/www/project/web">
AllowOverride All
Order allow,deny
Allow from All
</Directory>

## Load additional static includes

## Logging
ErrorLog "/var/www/project/app/logs/apache2/error.log"
ServerSignature Off
CustomLog "/var/www/project/app/logs/apache2/access.log" combined

## SetEnv/SetEnvIf for environment variables
SetEnv APP_ENV dev

## Custom fragment
</VirtualHost>

关于apache - Symfony 2.4 的 ProxyPassMatch 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21719997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com