2012-04-03 95 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