0

以下问题让我发疯,也许我觉得很难。

事情是这样的,我开发了一个运行良好的小型 MVC 框架。至少没有 url 重写。

问题是,一旦我使用 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/ 视为查找包含文件的目录。

如果我根本不使用任何 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] 

有没有办法让 home/test/whatever(段)不被视为一个目录?

希望我的帖子有意义,我经常想复杂:P

已经感谢任何帮助!:)

Gr,爱马仕。

4

2 回答 2

2

看来您正在使用相对于 css 的当前目录路径。当您使用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" />
于 2012-04-03T13:46:45.220 回答
2

如果死亡的答案不起作用,您始终可以将基本标记设置为 url 以在相对路径中使用

于 2012-04-03T14:31:46.163 回答