.htaccess 在 src 文件上需要额外的 '../'

.htaccess requires extra '../' on src files

我正在尝试转

Topics?t=a

进入

Topics/a

为此我写了这个 htaccess 代码

RewriteRule ^Topics/([0-9a-zA-Z]+) Topics.php?t= [NC,L]

现在当 url 为 Topics/a 时,它需要在 src 文件上添加额外的 '../',例如 css 或 javascript.

需要添加额外的 ../ 是因为您在 css/js/images.

中使用了 相对路径

正在使用的新漂亮URL是这样的:

Topics/a

如果您将 css 包含为 href=style.css,那么它会尝试将其查找为 /Topics/style.css

当使用 ../ 时,它将正确地找到 css 作为 /Topics/../style.css 转换为 /style.css.

请注意,您可以在 relative path 之前添加 / 而不是 ../,使其成为:

href=/style.css

或者 您可以将其添加到您页面 HTML 的 <head> 部分下方:

<base href="/" />

这样每个 亲戚 URL 都是从该基础 URL 解析的,而不是从当前页面的 URL.