2009-04-14 114 views

回答

0

這裏有一些基本的方法,你可以這樣做:

要麼傾倒admin.php的成在www.domain.com的根被稱爲「管理」文件夾中,並重命名admin.php的index.php。 (最簡單的解決方案)

當然,這樣一來,你必須調整admin.php的所有相關鏈接到上一級(追加「../」所有相對 URL的開始應該工作),以及作爲所有絕對鏈接來反映這些變化。

關於你的admin.domain.com,你應該聯繫你的虛擬主機/域名提供商爲你設置一個子域名。


或者,如果你的虛擬主機允許.htaccess文件,你可以寫一個mod_rewrite規則。

+0

在一個大應用程序中,這種方法註定要失敗(他說,看着他的傷疤)。過多的維護,以確保相對和絕對URL到他們應該的地方。 – dland 2009-11-02 15:11:42

0

我會創建一個名爲admin的模塊...然後大概是索引操作,我會把你在你的admin.php文件中的任何東西。

然後在你的routing.yml文件只是點yourdomain.com/admin到admin /指數....這樣你保持symfony的前端控制器內的一切

安德魯

1

你可能更好關把一切管理員像管理目錄,但您可以通過使用mod_rewrite

RewriteRule ^admin/?$ admin.php [L] 
0

確保您的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到自己的域名。