在開發模式下,我可以在http://localhost/backend_dev.php訪問我的symfony admin /後端應用程序。對於生產模式,我創建了一個控制器php文件admin.php,因此在生產環境中,可以通過http://www.domain.com/admin.php訪問管理員應用程序。Symfony:管理員選項URL
我必須做些什麼才能讓管理員應用在domain.com/admin或admin.domain.com上被訪問?
謝謝!
在開發模式下,我可以在http://localhost/backend_dev.php訪問我的symfony admin /後端應用程序。對於生產模式,我創建了一個控制器php文件admin.php,因此在生產環境中,可以通過http://www.domain.com/admin.php訪問管理員應用程序。Symfony:管理員選項URL
我必須做些什麼才能讓管理員應用在domain.com/admin或admin.domain.com上被訪問?
謝謝!
這裏有一些基本的方法,你可以這樣做:
要麼傾倒admin.php的成在www.domain.com的根被稱爲「管理」文件夾中,並重命名admin.php的至index.php。 (最簡單的解決方案)
當然,這樣一來,你必須調整admin.php的所有相關鏈接到上一級(追加「../」所有相對 URL的開始應該工作),以及作爲所有絕對鏈接來反映這些變化。
關於你的admin.domain.com,你應該聯繫你的虛擬主機/域名提供商爲你設置一個子域名。
或者,如果你的虛擬主機允許.htaccess文件,你可以寫一個mod_rewrite規則。
我會創建一個名爲admin的模塊...然後大概是索引操作,我會把你在你的admin.php文件中的任何東西。
然後在你的routing.yml文件只是點yourdomain.com/admin到admin /指數....這樣你保持symfony的前端控制器內的一切
安德魯
你可能更好關把一切管理員像管理目錄,但您可以通過使用mod_rewrite
RewriteRule ^admin/?$ admin.php [L]
騙你可以在該子網域(admin.domain.com)設置虛擬主機指向服務器的symfony打開新的子一應用程序。
你可以看看完整的教程[這裏] [1]。
[1]:http://blog.mirthlab.com/2008/03/04/dynamically-loading-symfony-applications-via-subdomains/這裏
確保您的DNS解析正確的admin.domain.com,然後編輯的.htaccess在/ WEB有mod_rewrite的拿起你的子域名和重寫請求admin.php的。可選擇將admin.php重命名爲不太明顯的內容,或者也可以在其中進行快速子域檢查,或者在任何人訪問domain.com/admin.php時使用301重定向擴展重寫。
下面這個簡單的.htaccess對我的作品:
Options +FollowSymLinks +ExecCGI
<IfModule mod_rewrite.c>
RewriteEngine On
# The admin subdomain returns the backend
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^admin\.domain\..*
RewriteRule ^(.*)$ admin.php [QSA,L]
# 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>
更改domain
到自己的域名。
在一個大應用程序中,這種方法註定要失敗(他說,看着他的傷疤)。過多的維護,以確保相對和絕對URL到他們應該的地方。 – dland 2009-11-02 15:11:42