dtml3340 2015-10-02 16:56
浏览 45
已采纳

PHP路由 - 样式表无效

I have created a basic Routing-system in PHP. The url is split into an array, so that i can decide what to show depending on the URL (ex: www.domain.com/page/option/param).

So in my index.php I've defined a div for header, content and footer, and the /page/ determines which file to include in the content-div. The routing works, and the HTML is loaded, but the stylesheet doesn't seem to be. Neither does it work when I <link> the stylesheet directly in the file (and supposedly it's possible to link a stylesheet within the body, with the attribude itemprop rather than rel) - anyways, does anyone know what could be causing this?

.htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?uri=$1 [QSA,L]

My routing uses $_SERVER['REQUEST_URI'] to get the URL, and i then remove the /index and split the rest into an array - all of this works fine.

Thanks in advance.

  • 写回答

1条回答 默认 最新

  • duanji8615 2015-10-02 18:35
    关注

    With most rewriting of "fake" or friendly URL's, you need to specify the location of the stylesheet either using absolute path or using the base tag in the head section.

    e.g.

    <base href="http://example.com" />
    <link href="css/style.css" rel="stylesheet" type="text/css" />
    //The CSS file above will load from http://example.com/css/style.css
    

    OR

    You can add a back slash before the path in the link tag so that it starts at the root directory.

    <link href="/path/to/style.css" rel="stylesheet" type="text/css" />
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图