【发布时间】:2013-07-04 01:56:22
【问题描述】:
我需要使用包含“#”字符的 URL 重定向所有流量,并将该字符替换为 XYZ。
例如,一个请求
需要重定向到
# 可以是 URL 查询中的任何位置
是否可以使用 htaccess 来做到这一点? AFAIK 它不适用于 PHP,因为 # 旁边的任何内容都会被脚本忽略(除非你有什么建议给我)
【问题讨论】:
标签: php apache .htaccess url webserver
我需要使用包含“#”字符的 URL 重定向所有流量,并将该字符替换为 XYZ。
例如,一个请求
需要重定向到
# 可以是 URL 查询中的任何位置
是否可以使用 htaccess 来做到这一点? AFAIK 它不适用于 PHP,因为 # 旁边的任何内容都会被脚本忽略(除非你有什么建议给我)
【问题讨论】:
标签: php apache .htaccess url webserver
是否可以使用 htaccess 来做到这一点
没有。 # 和它之后的所有内容都是 URL fragment。它永远不会发送到服务器,因此网络服务器或 mod_rewrite(或者,就像你说的,像 php 这样的脚本)甚至都不知道它的存在。
您将不得不在客户端执行一些严格的操作才能更改片段(例如,使用 javascript)。 htaccess 文件根本帮不了你。
例如看这个问题的答案:Remove fragment in URL with JavaScript w/out causing page reload
【讨论】: