我有一個symfony項目,由於DNS問題,本地爲http://<project-name>/
,但託管在更多QA級別環境中時需要爲http://<qa-host-name>/<project-name>;/
,但生產時可能爲http://<domain-name>/
(因此,我需要這兩個工作)。現在,圖片文件夾將永遠是相對<project-name>
目錄,所以本地它將http://<project-name>/my-smilie.png
和QA這將是http://<qa-host-name>/<project-name>/my-smilie.png
獲取相對於索引文件的Symfony URL
因爲任何事物都是相對的index.php文件的URL,我認爲Symfony的將有東西創造出工作,即使在背景是不同的動態URL,這樣我可以template.php
有類似
<?php echo image_url("my-smilie.png");
/*see below for potential implementation*/?>
,它會輸出http://<project-name>/my-smilie.png
,http://<qa-host-name>/<project-name>/my-smilie.png
,或http://<domain-name>/my-smilie.png
。 (相對URL很好,但絕對會更好)。
下面是我正在尋找的一個例子,但我覺得我正試圖重新發明車輪,Symfony已經完成了這一步。
function image_url($img)
{
return get_base_url() . '/images/' . $img;
}
function get_base_url()
{
$par = dirname($_SERVER[ 'SCRIPT_NAME' ]);
if($par == "/") $par = "";
return $par;
}
爲什麼不創建每個項目的QA域上的子域名? – lonesomeday 2010-12-22 20:03:50