我使用以下URL重写设置:URL重写打破链接到CSS
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
在index.php
是解析$_GET['url']
因此,在下面的例子:
ROOT/user/id/1/name/bobby // user is the page, id = 1, name = bobby
ROOT/blog/post/123/title/welcome // blog is the page, post = 123, title = welcome
,使得第一参数(?我不知道如何调用它)是页面名称,那么以下几个参数就像“键/值”。 现在,当我浏览ROOT/
链接到插入到页面的HTML和页面内的样式表显示正确。 我浏览ROOT/index
(与ROOT/
相同)它正确地显示页面(包含内容和其他内容),但链接(即使在html结构中正确写入)到样式表不加载。我可以看到,从我的网页没有CSS时,我加载它的事实。
我该如何解决这个问题?
编辑
CSS文件的路径如下:
project/view/css/common.css
是它包含该文件是在
project/public/index.php // the one with .htaccess and rewrite rules
这使我做一个链接(内index.php)如
../view/css/common.css
但是,这工作根据网址看起来不同。对于例子:
# For URL = public/
project/view/css/common.css // good
# For URL = public/index/
project/public/view/css/common.css // broken
# For URL = public/index/key/value
project/public/index/key/view/css/common.css // broken
你的CSS链接在你的html样子是什么样的?他们是否有前面的斜线? – davogotland 2011-03-28 17:49:55
@davogotland,我的链接看起来像真正的路径链接。 – Shoe 2011-03-28 20:06:03
@davogotland,他们看起来像这样http://localhost/project/public/view/css/index.css – Shoe 2011-03-28 20:22:59