我使用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
而不是演示,内联资源的路径损坏。
答案 0 :(得分:0)
我遇到了与ProxyPassMatch相同的问题,但是使用和SetHandler一切正常。
762 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
762 open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY) = 3
762 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\r\0\0\0\0\0\0"..., 832) = 832
762 fstat(3, {st_mode=S_IFREG|0644, st_size=14768, ...}) = 0
762 mmap(NULL, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa0d731f000
762 mprotect(0x7fa0d7321000, 2097152, PROT_NONE) = 0
762 mmap(0x7fa0d7521000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fa0d7521000
762 close(3)