【问题标题】:Missing CSS file and images after URL rewriteURL 重写后缺少 CSS 文件和图像
【发布时间】:2012-01-03 05:12:48
【问题描述】:

我正在尝试使用模式重写使用户友好的 URL。 我的问题是,在为我的 URL 提供“名称”之类的类别后,当我使用新 URL 调用页面时,它无法加载 CSS 文件或图像。

我有一个类似的链接:

localhost/mywebsite/project?id=22

新链接类似于

localhost/mywebsite/project/22/myproject.project

ht访问代码:

RewriteRule ^project/([0-9]*)/.*\.project$ /project.php?project=$1 [L]

(它可能不是 100% 正确,但我现在无法访问我的代码,所以我只是写了这个,它在原始源上运行良好)

我的根目录是 localhost/mywebsite/

我的 CSS 文件在 css/style.css 中

localhost/mywebsite/css/style.css

我的 htaccess

localhost/mywebsite/.htaccess

我的 project.php 文件在

localhost/mywebsite/project.php

所以在项目页面中我可以使用相对路径访问 CSS 文件,

<link href="css/style.css" rel="stylesheet" type="text/css" />

但是当我使用重写的 URL 页面时找不到 CSS 文件。

我不能使用绝对路径和域名,因为我还没有域名!它可以是任何东西。

一种方法是按照类似问题的建议使用域的相对路径 本地主机/mywebsite/project.php 当我在本地运行我的脚本时,我的根目录是 本地主机 所以css链接应该是这样的

href="mywebsite/css/style.css"

但是当我上线时,我应该将所有链接更改为可能类似于

href="/css/style.css"

这似乎需要很多工作

【问题讨论】:

    标签: php css url mod-rewrite url-rewriting


    【解决方案1】:

    您必须在 connection.php 中定义基本路径或服务器视图路径,并且每当您想要该路径时,将其设为全局路径。然后将调用该变量,并且 css 或图像将采用整个路径。

    例如 $SVP="http://www.example.com/"

    全球 $SVP; 回声 $SVP;

    所以

    【讨论】:

      【解决方案2】:

      将图片插入到与 css href 链接具有相同相对路径的同一文件中,在浏览器中加载页面,在 Internet Explorer 中右键单击图片,单击属性,您应该会看到相对路径实际指向的位置.

      【讨论】:

      • 显然我应该在他的链接上包含 mywebsite 因为 localhost 被认为是我的根目录,而 /mywebsite/ 文件夹只是另一个目录,因此它应该包含在链接中。当我上线时,我无法更改所有链接!
      • 您无法更改所有链接,这是可以理解的麻烦,因此请保持所有路径相对,但使用正确的相对位置调整每个路径。注意:我不是说使用绝对路径,我的意思是检查绝对路径并调整你的相对路径,直到你做对了。您可以使用 ../ 上一个文件夹。
      【解决方案3】:

      为您的本地版本添加

      <base href="//localhost/mywebsite" />
      

      到头部

      并为您的实时版本将其更改为

      <base href="//your.domain.here" />
      

      参考http://www.w3.org/TR/html4/struct/links.html#h-12.4

      【讨论】:

      • 是的,但也有图片,上线后我无法为每张图片更改域名
      • @max, base 标签也适用于图像。jsfiddle.net/gaby/JE656 的示例
      • 谢谢,解决了我的头痛问题。
      猜你喜欢
      • 2014-06-20
      • 2020-05-17
      • 2012-07-05
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      相关资源
      最近更新 更多