跳转到内容
搜索文档

基于映射对象的大量重定向

根据与请求 URL 关联的映射对象,将请求重定向到特定 URL。

最后更新 查看 MarkdownAgent 设置
export default {
	async fetch(request) {
		// Define a variable with the hostname that needs to be redirected.
		const externalHostname = "example.com";

		// Define the map object. Replace the sources (/pathX) and targets (/redirectX) with ones that apply to your case.
		const redirectMap = new Map([
			["/path1", "https://" + externalHostname + "/redirect1"],
			["/path2", "https://" + externalHostname + "/redirect2"],
			["/path3", "https://" + externalHostname + "/redirect3"],
			["/path4", "https://cloudflare.com"],
		]);

		// Clone the original URL.
		const requestURL = new URL(request.url);

		// Check the request path against the map and redirect accordingly.
		const path = requestURL.pathname;
		const location = redirectMap.get(path);

		if (location) {
			return Response.redirect(location, 301);
		}

		// If request path not in map, return the original request.
		return fetch(request);
	},
};

这篇文档对您有帮助吗?