2012-04-03 93 views
0

以下問題令我瘋狂,也許我在想困難。我的php控制器不能包含css文件

這是事情,我開發了一個小的MVC框架,工作正常。至少沒有url重寫。

問題是,只要我使用url重寫,像模板中包含的css或圖像的東西被定向到錯誤的目錄。

如果我輸入例如:http://www.domain.com/home那麼一切都很好,並從http://www.domain.com/css/目錄加載的CSS文件。

但是,當我輸入:http://www.domain.com/home/該css文件將不會被加載,因爲它尋找的css文件在http://www.domain.com/home/css/這是不知道錯誤的目錄。它似乎將home /視爲查找包含文件的目錄。

如果我根本不使用任何URL重寫,只需輸入:http://www.domain.com/index.php?slugs=home/然後根本沒有問題。所以我不認爲問題是由我的腳本造成的,所以我認爲這些問題應該在.htaccess文件中查找。

這裏是我的htacces文件:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond $1 !^(index\.php|images|css|robots\.txt) 
RewriteRule ^(.*)$ /astrostrategy/index.php?slugs=$1 [L] 

有沒有一種辦法,那家/測試/任何(該段)不被視爲一個目錄?

希望我的帖子是有道理的,我常想複雜的:P

已經thanx的任何幫助! :)

Gr, 愛馬仕。

回答

2

如果死亡的回答不工作,你總是可以設置base tag到URL中相對路徑使用

+0

昨天我試了一下,但不知何故,這也沒有奏效。直到今天!似乎我在哪裏感到沮喪和過度看什麼。但現在我終於找到了解決方案;)thanx! – HermesTrismegistus 2012-04-05 12:09:20

2

它似乎你正在使用相對於css的currect目錄路徑。當您使用http://www.domain.com/home/瀏覽器需要home作爲目錄,而css文件將位於http://www.domain.com/home/css/。我的建議是使用相對於根路徑。現在你正在使用類似:

<link rel="StyleSheet" type="text/css" href="css/style.main.css" /> 

最好使用絕對路徑或相對於根路徑。

<link rel="StyleSheet" type="text/css" href="/css/style.main.css" /> 
+0

我定義我的所有的路徑已經是一個配置文件,這到底還定義在裏面就像你解釋的一樣。主要問題是,如果我輸入讓說http://www.domain.com/forum它將尋找論壇目錄內的css文件夾。 – HermesTrismegistus 2012-04-04 21:21:31

+0

你可以把你的網頁的HTML代碼? – undone 2012-04-05 07:41:39