gpt4 book ai didi

php - htaccess 资源被解释为样式表但以 MIME 类型 text/html 传输

转载 作者:行者123 更新时间:2023-12-04 03:10:29 25 4
gpt4 key购买 nike

我正在尝试将我现有的 url 从 http://localhost/website/article.php?id=5 重写为 http://localhost/website/article/5 因此我的 htaccess 代码

RewriteBase /website/
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule article/([a-zA-Z0-9@.-])? article.php?id=$1 [L]

我得到的是资源解释为样式表但使用 MIME 类型文本/html 传输:“http://localhost/website/article/css/bootstrap.min.css”。

似乎 article 被添加到文件的 url,甚至重定向了文件目录。

真实的url应该是"http://localhost/website/css/bootstrap.min.css"

我是 htaccess 的新手,正在尝试通过复制现有的来创建我自己的

修订

我的实际问题是我的资源 URL 也被重命名了。我已将代码行减少到 2 行

RewriteEngine On
RewriteRule article/([0-9@.-]) article.php?id=$1

但现在资源被重定向到不存在的 http://localhost/website/article/js/main.js 而不是 http://localhost/website/js/main.js

最佳答案

检查主 HTML 文件中的 URL;我怀疑浏览器在到达重写规则之前请求了错误的 URL。如果你有像 <script src="js/main.js"> 这样的相对 URL , 然后在非重写版本中,浏览器会将其解析为 http://localhost/website/js/main.js , 但在重写版本中它将解析为 http://localhost/website/article/js/main.js ,因为从浏览器的角度来看,HTML 文件位于目录 http://localhost/website/article/ 中,所以它相对于那个解决。如果这是问题所在,您可以将其更改为 src="/website/js/main.js"src="../js/main.js" .

关于php - htaccess 资源被解释为样式表但以 MIME 类型 text/html 传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45689651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com