我已经在我的计算机上测试了一个应用程序,一切正常(我只通过frontend_dev.php页面使用了开发环境)。
当我在测试服务器上部署此应用程序时,我的错误400 Bad Request如下:
错误请求
您的浏览器发送了此服务器无法理解的请求。
我使用普通网址访问了该网站。 我正在使用symfony 1.4 with doctrine(没有涉及其他插件),wamp 2(php 5.3,apache 2.0.59)。
如果我尝试使用开发环境访问该应用程序,它可以正常工作。
答案 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网站上查看我有类似的问题。