Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
相同的git项目,两台本地服务器,使用克隆git和相同的部署步骤(symfony2),仅在一台服务器中为所有prod env站点提供HTTP 404_Git_Apache_.htaccess_Symfony - Fatal编程技术网

相同的git项目,两台本地服务器,使用克隆git和相同的部署步骤(symfony2),仅在一台服务器中为所有prod env站点提供HTTP 404

相同的git项目,两台本地服务器,使用克隆git和相同的部署步骤(symfony2),仅在一台服务器中为所有prod env站点提供HTTP 404,git,apache,.htaccess,symfony,Git,Apache,.htaccess,Symfony,在两台机器上使用相同的步骤f.e.composer install命令克隆和部署了一个git项目。这两台机器都是本地服务器,带有WAMP和项目空缓存,导致server1中prod env站点的HTTP 404,并在server2上正常工作 developmentenv在两台服务器中都能正常工作 server1和server2中的Apache httpd.conf相同 两个项目中的公用目录中的.htaccess相同。 服务器1: .../web -works .../web/app_dev.php

在两台机器上使用相同的步骤f.e.composer install命令克隆和部署了一个git项目。这两台机器都是本地服务器,带有WAMP和项目空缓存,导致server1中prod env站点的HTTP 404,并在server2上正常工作

developmentenv在两台服务器中都能正常工作

server1和server2中的Apache httpd.conf相同

两个项目中的公用目录中的.htaccess相同。 服务器1:

.../web -works
.../web/app_dev.php/ -works

.../web/app_dev.php/book -works
.../web/book - 404

.../web/app_dev.php/new -works
.../web/new - 404
调试:服务器1上的路由:

Name                                Method   Scheme Host Path
index                               ANY      ANY    ANY  /
book                                ANY      ANY    ANY  /book
new                                 ANY      ANY    ANY  /new
.htaccess在web/symfony2公共目录中

DirectoryIndex app.php

<IfModule mod_rewrite.c>
    RewriteEngine On    
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]    
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]    
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]    
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]
    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>

您是否运行了-php app/console cache:clear-env=prod-no warmup使用debug false清除prod环境的缓存,但缓存仍然是清除的。@A.L.没有slashDoes时相同…/web/app.php/new work?这看起来像是URL重写失败了,它应该以静默方式调用app.php/。@A.L使用/app.php/!你知道这意味着什么,以及如何改变它吗?如果你不知道,如果你愿意,我可以接受上面的答案。