我在我的GoDaddy生產服務器上安裝了我的Symfony網站。當我使用網址www.amcolan.info/Symphony/web/app.php/index時,它工作正常。我希望它能夠將其設置爲www.amcolan.info/index。讓Symfony2在沒有app.php的情況下在GoDaddy上工作
我通過GoDaddy控制面板將域名更改爲指向文件夾amcolan/Symfony/web。它曾經指向/ amcolan,其中包含我的網站的工作版本。我在此之後成立,我安裝了以下.htaccess文件:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
# Explicitly disable rewriting for front controllers
RewriteRule ^/app_dev.php - [L]
RewriteRule ^/app.php - [L]
# Fix the bundles folder
RewriteRule ^bundles/(.*)$ bundles/$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
# Change below before deploying to production
RewriteRule ^(.*)$ app.php [QSA,L]
#RewriteRule ^(.*)$ app_dev.php [QSA,L]
</IfModule>
我從這個網站的其他相關的問題得到了代碼和修改,以我的目的。原本打算住在Symfony目錄中。然後我清除了生產緩存並嘗試訪問一個頁面。它導致內部服務器錯誤。我的代碼中是否有錯誤?你可能會認爲Sensio會很好地記錄這一點,因爲我想99%的實現都需要這樣做。現在我越來越苦了。
至於建議,我試過用symfony來到下面的代碼:
<IfModule mod_rewrite.c>
RewriteEngine On
<IfModule mod_vhost_alias.c>
RewriteBase/
</IfModule>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
我也試過:
<IfModule mod_rewrite.c>
RewriteEngine On
#<IfModule mod_vhost_alias.c>
#RewriteBase/
#</IfModule>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
我得到了同樣的錯誤,與前兩者。爲了確保我進入目錄,我添加了一個index.php文件,並且可以訪問它。
更新2
亂翻一些更多GoDaddy的具體問題後,我發現在GoDaddy的論壇上稱RewriteEngine敘述已經在一個職位。我毫不影響地刪除了該代碼。然後我決定試試這個:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://www.amcolan.info/app.php/index [QSA,L]
這讓它工作,雖然我懷疑不正確。我在app.php /之後首先嚐試了沒有索引的情況。這讓我陷入了symfony,但是卻產生了一個get錯誤。這似乎是因爲一個空參數,所以我添加了索引。因此,無論在www.amcolan.info之後有人可能輸入什麼,它都會進入索引。一旦你在Symfony頁面上,你可以導航到網站中的其他頁面。所以,現在我有三個新問題:
任何想法,當它讀取.htaccess文件時,Web服務器指向的位置?您可以在/ web目錄中考慮文件所在的位置。由於只是指定app.php而不是完整路徑不起作用,所以不一定如此。它會成爲我網站的基礎嗎?
成功重定向www.amcolan.info後,得到的顯示網址爲www.amcolan.info/app.php/index。我不想在URL中看到/app.php,但我懷疑這是不可能的,因爲它是實際的目的地。這是一個正確的假設嗎?
如何獲取www.amcolan.info/somepage以訪問www.amcolan.info/app.php/somepage而不是硬編碼索引?
更新3
我以爲我被卡住了,但後來我想:
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php/index [QSA,L]
這擺脫了必須使用完整的URL,現在的目標網頁不再顯示應用.PHP。我有一個新問題:只需指定www.amcolan.info導致上面提到的獲取錯誤。指定www.amcolan.info/spage不再將我帶到索引,而是到指定頁面。請繼續關注,我可以通過多一點挖掘來解決最後一個問題。
更新4
我加入固定的最後一個問題,下面我的路由文件:
我想我現在是一個快樂的人。
文檔根目錄應指向'web'目錄和'web'目錄中提供的.htaccess應該做的工作做好。 –
@Pazi,通過交付,你的意思是與Symfony下載的代碼? – curt
是的,它帶有標準安裝。 –