重定向到友好 URL 时处理 CSS 和 JS

Posted

技术标签:

【中文标题】重定向到友好 URL 时处理 CSS 和 JS【英文标题】:Deal with CSS and JS when redirecting to a friendly URL 【发布时间】:2016-04-14 07:44:07 【问题描述】:

我有这个示例网址:mypage.com/notices.php。在里面我有一个通知列表,要访问它们,你点击一个,然后 URL 会打开一个友好的,就像这样:mypage.com/notices/title-of-my-notice。但是我的问题是当我访问该 url 时,因为我在 notices.php 中正常工作的 CSS 和 JS 现在不能与新的友好 url 一起使用,并向我显示了这个错误:

资源解释为样式表,但使用 MIME 类型 text/html 传输:“mypage.com/notices/css/styles.css”。

而我的风格不在这条路上。在这里:mypage.com/css/styles.css。我的 JS 文件也是如此。

我想知道我可以通过哪种方式处理它,因为我不知道解决方案是在我的网页上调用我的样式表时调用完整的 URL 还是有其他方法。

谢谢。

【问题讨论】:

对资产使用绝对网址,或者添加base标签,但这会带来自己的问题 史蒂夫谢谢。所以,你的意思是我必须使用这样的东西: 是的,这是最安全的选择 当我使用路径在数据库中的图像时,正确的方法是保存在数据库中,如下所示:mypage.com/img/myimage.jpg 或只是 myimage.jpg 然后我链接在一起用我的页面名称。因为就像 CSS 和 JS 一样,IMG 也是如此。 我个人会将域作为变量,例如$url = 'http://mypage.com'; 然后使用该变量构建完整的url。然后,如果您将网站移动到不同的域,您只需更新一个变量 【参考方案1】:

使用下面的/ 复选标记创建一个相对于根的链接:

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

【讨论】:

谢谢!保存在数据库中的图像也会发生同样的情况吗?例如,我像这样存储它们:myimage.jpg,当我通过 SQL 查询检索它时,我只是将我的页面名称链接在一起,如下所示:mypage.com/img/myimage.jpg。这样做是个好习惯吗? 如果您在数据库中保存了“image.jpg”,我会创建一个类似“/img/myimage.jpg”的 url 并将其放入 src 标签中。相对 url 的好处是,如果您更改它们运行的​​域,它们不会中断。 感谢 clean_coding 有美好的一天!

以上是关于重定向到友好 URL 时处理 CSS 和 JS的主要内容,如果未能解决你的问题,请参考以下文章

MODX 中的友好 URL 重定向到主页

Linux 第三天 重定负管道符环境变量

重写规则以将两个友好的 url 重定向到同一个文件

servlet如何重定向

htaccess 重写和重定向 SEO 友好的 URL

php中htaccess重定向url后无法加载css和js