gpt4 book ai didi

.htaccess - 重写 css/js 路径

转载 作者:行者123 更新时间:2023-12-04 22:37:51 27 4
gpt4 key购买 nike

所以我将我的路径改写为:URL/really/nice/paths/使用像这样的 mod_rewrite 规则:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
</IfModule>

问题是我怎样才能重写 js/css/image 文件的路径,所以当它们被请求时 具有相对路径 来自 URL/really/nice/path/URL/scripts/ 提供服务, URL/styles/URL/images/文件夹?这可以不使用 RewriteBase 来完成吗? ?

最佳答案

当 URL 被重写时,客户端并不知道。因此,当客户端查看 URL“example.com/some/url/”中的页面并且该页面引用“images/image.jpg”中的图像时,客户端会在“example.com/some/”中查找图像url/images/image.jpg”,即使该页面实际上位于“example.com/some/other/url/”中。这就是你面临的问题,对吧?

这个问题主要有以下三种解决方案:

  • 使用资源的绝对路径而不是相对路径。
  • 使用 <base> 标记以确保客户端知道构建其相对 URL 的根不同于页面的明显 URL。
  • 在重写规则中为“some/url/images/”添加新规则。

  • 选项 1 可能是最好的主意,您会发现大多数使用 URL 重写的站点都使用它,包括 Stack Overflow 本身。选项 2 不受欢迎,但有效并且相对容易。选项 3 是最难维护的,因为在定义新规则时可能会出现 URL 重写异常和特殊情况。

    最易于维护的解决方案是使用绝对 URL。

    关于.htaccess - 重写 css/js 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2578977/

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