2015-10-16 52 views
-1

我有兩個蔚藍的服務器中的一個正在運行的git的樞紐和第二(開發服務器)我的主分支的代碼是從我的主側枝流失的代碼(我不知道我能使用/app_dev.php但IM選擇這種方式,因爲我喜歡它)的Web.config與Symfony的控制器搞亂

基本步驟我正在被添加的web.config(生病粘貼以下)保護訪問我的網絡文件夾,以便當網址是打它會返回前端控制器,而不必做以下

繼承人的web.config文件的

<!-- web.config --> 
<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<system.webServer> 
<rewrite> 
    <rules> 
    <clear /> 
    <rule name="BlockAccessToPublic" patternSyntax="Wildcard" stopProcessing="true"> 
     <match url="*" /> 
     <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
     <add input="{URL}" pattern="/web/*" /> 
     </conditions> 
     <action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." statusDescription="You do not have permission to view this directory or page using the credentials that you supplied." /> 
    </rule> 
    <rule name="RewriteAssetsToPublic" stopProcessing="true"> 
     <match url="^(.*)(\.css|\.js|\.jpg|\.png|\.gif)$" /> 
     <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
     </conditions> 
     <action type="Rewrite" url="web/{R:0}" /> 
    </rule> 
    <rule name="RewriteRequestsToPublic" stopProcessing="true"> 
     <match url="^(.*)$" /> 
     <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
     </conditions> 
     <action type="Rewrite" url="web/app.php/{R:0}" /> 
    </rule> 
    </rules> 
</rewrite> 
</system.webServer> 
</configuration> 

如果你去這裏http://symfony.com/doc/current/cookbook/deployment/azure-website.html

並滾動到最底部,它談到它。我做apolgise我不是很擅長解釋自己。

因爲在開發服務器上它返回一個樹枝模板說我的項目已經可以在etc等啓動了,但是在prod服務器上,web.config沒有被合併,url是域/ web /app.php它正在重新調整我想要的控制器和模板。

回答

2

根據您的描述,您有2個託管開發和督促交響樂應用Azure的Web Apps服務。如果我有任何誤解,請指出。

在我的測試,完成Azure上的Web應用程序的部署交響樂應用爲回答你的最後一個問題後。我只是在本地複製了app_dev.php的內容,並在雲上覆蓋了app.php

我評論用於檢查服務器是否是本地主機的代碼,這就是: if (isset($_SERVER['HTTP_CLIENT_IP']) || isset($_SERVER['HTTP_X_FORWARDED_FOR']) || !(in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) || php_sapi_name() === 'cli-server') ) { header('HTTP/1.0 403 Forbidden'); exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); }
然後瀏覽http://<your-website-name>.azurewebsites.net,它工作正常。

所以,請檢查您的部署步驟,它應該是你成功的一個步驟相同。

如果您有內部部署web.config在您的本地項目,並在與Azure的應用程序的Web應用程序部署。這似乎會在我的測試中引發一個內部錯誤。你可以試試下面的步驟來解決這個問題:

  1. 登錄在你的網站的庫杜控制檯,並在你的站點根目錄刪除現有 web.config文件。
  2. 創建一個新的使用命令:touch web.config
  3. 點擊鉛筆圖標編輯文件,複製上 http://symfony.com/doc/current/cookbook/deployment/azure-website.html#configure-the-web-server 給它的內容。
  4. 重新啓動您的網站。