2011-01-20 49 views
0

我已經在我的電腦上進行測試的應用程序,所有工作正常(我只用通過frontend_dev.php頁面的開發環境)。的Symfony在督促ENV主頁上1.4錯誤400(而不是在開發ENV)

當我部署在測試服務器上這個應用程序,我有以下的錯誤400錯誤請求:

壞請求

您的瀏覽器發送的請求,該服務器無法理解。

我訪問與正常網址的網站。 我使用symfony 1.4的教條(沒有涉及其他插件),wamp 2(php 5.3,apache 2.0.59)。

如果我嘗試與開發環境來訪問應用程序,它的工作原理。

回答

1

嘗試檢查,如果no_script財產上的應用程序setting.yml文件。如果要設置爲False,清除緩存,再次嘗試

0

非常感謝您Guiman。你已經把我引向了答案。

no_script_name財產不是問題的根源。相反,我的網頁目錄中有我的.htaccess這是很糟糕的生成(我發誓在我的寵物的頭上,我以前沒有編輯過這個文件)。下面是symfony中產生的文件(加粗屬性不是一個代碼中工作,看看最後一行):

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網站,我也有類似的問題。

+0

那麼這將是我的第二種方法:P,知道你可以自己想象出來是很了不起的!歡呼聲 – guiman 2012-02-08 13:26:55