prod env主页上的Symfony 1.4 Error 400(不在dev env中)

时间:2011-01-20 16:12:15

标签: symfony1 symfony-1.4

我已经在我的计算机上测试了一个应用程序,一切正常(我只通过frontend_dev.php页面使用了开发环境)。

当我在测试服务器上部署此应用程序时,我的错误400 Bad Request如下:

  

错误请求

     

您的浏览器发送了此服务器无法理解的请求。

我使用普通网址访问了该网站。 我正在使用symfony 1.4 with doctrine(没有涉及其他插件),wamp 2(php 5.3,apache 2.0.59)。

如果我尝试使用开发环境访问该应用程序,它可以正常工作。

2 个答案:

答案 0 :(得分:1)

尝试检查应用程序no_script文件上的setting.yml属性。如果应设置为False,请清除缓存并重试

答案 1 :(得分:0)

非常感谢Guiman。你带我回答了问题。

no_script_name属性不是问题的根源。相反,我在网络目录中有.htaccess生成错误(我发誓我的宠物的头上没有编辑过这个文件)。下面是symfony生成的文件(粗体属性在代码1中不起作用,请查看最后一行):

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  # uncomment the following line, if you are having trouble
  # getting no_script_name to work
  #RewriteBase /

  # we skip all files with .something
  #RewriteCond %{REQUEST_URI} \..+$
  #RewriteCond %{REQUEST_URI} !\.html$
  #RewriteRule .* - [L]

  # we check if the .html version is here (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

这是更新的(再看一下最后一行):

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  # uncomment the following line, if you are having trouble
  # getting no_script_name to work
  #RewriteBase /

  # we skip all files with .something
  #RewriteCond %{REQUEST_URI} \..+$
  #RewriteCond %{REQUEST_URI} !\.html$
  #RewriteRule .* - [L]

  # we check if the .html version is here (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ **/myApp/index.php** [QSA,L]
</IfModule>

我不知道发生了什么,但我会在symfony网站上查看我有类似的问题。