Symfony 1.4 Ошибка 400 на домашней странице в prod env (не в dev env) - PullRequest
0 голосов
/ 20 января 2011

Я сделал тестовое приложение на моем компьютере, и все работает нормально (я использовал только среду разработки через страницу frontend_dev.php).

При развертывании этого приложения на тестовом сервере яесть ошибка 400 Bad Request ниже:

Bad Request

Ваш браузер отправил запрос, который этот сервер не может понять.

Я получил доступ ксайт с нормальным URL.Я использую Symfony 1.4 с доктриной (никакие другие плагины не участвуют), wamp 2 (php 5.3, apache 2.0.59).

Если я пытаюсь получить доступ к приложению с помощью среды dev, это работает.1013 *

Ответы [ 2 ]

1 голос
/ 22 января 2011

Попробуйте проверить, есть ли свойство no_script в файле приложения setting.yml. Если должно быть установлено значение False, очистите кэш и повторите попытку

0 голосов
/ 24 января 2011

Большое спасибо Гиман.Вы привели меня к ответу.

Свойство no_script_name не было источником проблемы.Вместо этого у меня есть .htaccess в веб-каталоге, который был сгенерирован плохо (я клянусь на голове моего питомца, что я не редактировал этот файл раньше).Ниже приведен файл, сгенерированный symfony (атрибут bold не работает в коде 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, если есть похожие проблемы.

...