我有一个请求,要求将多个单独的 URL 重定向到新的单独的 URL。情况如下:
**Old URL --> New URL**
old.domain.org/ --> new.domain.net/inf/site1.html
old.domain.org/#data/re/sys.html --> new.domain.net/inf/site2.html
old.domain.org/#data/rq/opr.html --> new.domain.net/inf/site3.html
我使用以下代码创建了一个重定向文件:
$HTTP["host"] == "old.domain.org" {
url.redirect = ("^/$" => "http://new.domain.net/inf/site1.html",
"^/#data/re/sys.html" => "http://new.domain.net/inf/site2.html",
"^/#data/rq/opr.html" => "http://new.domain.net/inf/site3.html"
)
}
但这对我来说不起作用;因为,当我去http://old.domain.org/#data/re/sys.htmllighttpd 重定向到http://new.domain.net/inf/site1.html#data/re/sys.html...不存在的。
我不是开发人员,但我认为问题出在“#”字符上。有人告诉我,那部分是 javascript 函数。那么,我该如何从旧网址转到新网址呢?
谢谢
答案1
这片段标识符(即 URL 中的“#”及其后面的所有内容)根本不会发送到 HTTP 服务器。正如您所说,它可以被 javascript 解释,默认情况下,浏览器会尝试显示具有 id 的 HTML 元素。