以下问题让我发疯,也许我在想困难。
这就是我开发的一个小型MVC框架。 Atleast没有网址重写。
问题是,只要我使用url重写,模板中包含的css或图像就会被定向到错误的目录。
如果我输入例如:http://www.domain.com/home那么一切都很好,css文件从http://www.domain.com/css/目录加载。
但是当我输入:http://www.domain.com/home/时,css文件无法加载,因为它在http://www.domain.com/home/css/中查找css文件,这无疑是错误的目录。它似乎将home /作为一个目录来查找包含的文件。
如果我根本不使用任何网址重写,只需输入: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
已经感谢任何帮助! :)
GR, Hermes的。
答案 0 :(得分:2)
似乎你正在使用相对于css的当前目录路径。当您使用http://www.domain.com/home/浏览器时,home
将http://www.domain.com/home/css/
作为目录,而css文件将位于<link rel="StyleSheet" type="text/css" href="css/style.main.css" />
中。我的建议是相对于根路径使用。现在你正在使用类似的东西:
<link rel="StyleSheet" type="text/css" href="/css/style.main.css" />
最好使用绝对路径或相对于根路径。
{{1}}
答案 1 :(得分:2)
如果死亡的答案不起作用,您可以随时将base tag设置为在相对路径中使用的网址