.htaccess重定向(如果URI中存在#)

时间:2019-01-21 20:49:04

标签: regex apache .htaccess

我一直在寻找解决方案,但找不到任何东西。

这个想法是重定向取决于URI字符串,但是问题是htaccess无法捕获

URI 中存在

IF 重定向到 LINK_A

ELSE 重定向到 LINK_B

这是我的小代码,它对我不起作用

RewriteEngine on
RewriteRule ^((?!#).)*$ http://google.fr [L,R=301,NE]
RewriteRule # http://redirect.fr [L,R=301,NE]

1 个答案:

答案 0 :(得分:3)

URL中的

#是片段标识符,不会传递给服务器。

Fragment_identifier

  

片段标识符的功能不同于URI的其余部分:   它的处理完全是客户端的,没有来自   网络服务器,尽管该服务器通常有助于确定   MIME类型,而MIME类型确定片段的处理。   当代理(例如Web浏览器)从代理请求Web资源时,   Web服务器,代理将URI发送到服务器,但不发送   片段。相反,代理会等待服务器发送   资源,然后代理根据资源   文档类型和片段值。