【问题标题】:htaccess search and replace redirecthtaccess 搜索和替换重定向
【发布时间】:2013-07-04 01:56:22
【问题描述】:

我需要使用包含“#”字符的 URL 重定向所有流量,并将该字符替换为 XYZ。

例如,一个请求

http://www.example.com/page.php?var=test#1

需要重定向到

http://www.example.com/page.php?var=test#XYZ

# 可以是 URL 查询中的任何位置

是否可以使用 htaccess 来做到这一点? AFAIK 它不适用于 PHP,因为 # 旁边的任何内容都会被脚本忽略(除非你有什么建议给我)

【问题讨论】:

    标签: php apache .htaccess url webserver


    【解决方案1】:

    是否可以使用 htaccess 来做到这一点

    没有。 # 和它之后的所有内容都是 URL fragment。它永远不会发送到服务器,因此网络服务器或 mod_rewrite(或者,就像你说的,像 php 这样的脚本)甚至都不知道它的存在。

    您将不得不在客户端执行一些严格的操作才能更改片段(例如,使用 javascript)。 htaccess 文件根本帮不了你。

    例如看这个问题的答案:Remove fragment in URL with JavaScript w/out causing page reload

    【讨论】:

    • 我尝试了此链接中的脚本,它将删除锚点及其旁边的所有内容。但我只想用 XYZ 替换 # 并保留字符之后的所有内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 2013-07-09
    相关资源
    最近更新 更多