如何在 PHP 中检测、删除和重定向末尾带有 # 的 url?

2024-04-25

客户要求我自动将任何带有井号的网址重定向到不带井号的版本,但我认为我没有使用此公式在任何网址中检测到 #。我使用 curPageURL() 公式通过电子邮件给自己发送了一个示例 URL,它在我正在测试的 URL 中不包含尾随 # 符号。

function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}

if(stripos($currenturl,'#'))
{
    Header( "HTTP/1.1 301 Moved Permanently" ); 
    $location = 'Location: ' . str_replace('#','',$currenturl) . '/';
    Header($location);
}

*更正 - 我在标题的末尾说过,我的意思是结尾,我的代码显然可以检测到网址中任何位置的井号。 *


之后的部分#是“散列”或“片段”。它完全是客户端的 - 它永远不会发送到服务器(如果是,则会导致错误)。因此,您的 PHP 脚本永远不会看到它,因此无法修复它。这是正确的行为,并且是有意设计的。

也就是说,您可以使用客户端解决方案检查#fragment(例如在 JS 中使用document.location.hash)并从那里重定向。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PHP 中检测、删除和重定向末尾带有 # 的 url? 的相关文章

  • 使用Ajax使用php将记录插入mysql数据库

    如何使用 Ajax 对此代码进行编码 请帮助 我是 Bignner 我已经编写了这段代码 它可以工作 但我想与 ajax 一起使用 因为不想重新加载页面 PHP文件 Code For Making Form And getting Data
  • Jquery UI:日期选择器。如何通过 $_GET 在日期选择器中设置日期

    我找不到如何设置 GET 变量来手动设置日期选择器中的日期 http jqueryui com demos datepicker http jqueryui com demos datepicker 例子 那可能吗 Thanks 在此使用
  • 在 Woocommerce 中以编程方式创建新产品属性

    如何通过插件为 WooCommerce 创建属性 我只找到 wp set object terms object id terms taxonomy append From 这个堆栈问题 https stackoverflow com qu
  • 在 CakePHP 中访问 Configuration::read 控制器

    我的 CakePHP 应用程序有一个单独的配置文件 该文件加载在 bootstrap php 中 我的问题是 如何访问控制器中的配置变量 IE 如何在控制器中执行Configure read variable 函数 谢谢 在我的自定义配置文
  • 使用哈希检查具有 $_POST 值的页面是否已刷新

    当将表单发布到同一个PHP页面时 正确的方法是什么来查找页面是否被意外刷新而不是再次提交 这是我现在正在使用的 tmp implode POST myHash md5 tmp if isset SESSION myHash SESSION
  • PHP set_include_path 的“起点”是什么

    在 PHP 中 set include path 相对于什么 它是 PHP exe 所在的文件夹吗 是网络根吗 换句话说 set include path 或 set include path 指的是哪个文件夹 相对路径是从文件所在位置解析
  • Jwt 令牌是唯一的

    我正在使用 JWT 网络令牌系统 我能够成功生成令牌 我在 Laravel 中创建 JWT 令牌 如下所示 我正在使用以下技术堆栈 拉拉维尔 5 2 http laravel com 框架 JWT 包裹 https github com t
  • PHP - 多个不同的数据库依赖注入类

    我花了过去几个小时试图找到 最佳 最合乎逻辑的方法的答案 以编写一个 php 数据库类以同时连接到一个 postgresql 数据库和一个 mysql 数据库 另外 我想采用依赖注入设计 但对整个概念还是陌生的 到目前为止我已经想出了 cl
  • Laravel ErrorException:未定义的变量:\storage\framework\views\ 中的错误

    我尝试使用 redis 队列来延迟发送邮件 但每次都会收到错误 ErrorException 未定义的变量 错误 C wamp64 www laravel boltra storage framework views c653bafa95f
  • jQuery - 找不到 ajax url

    好吧 我确信这真的很容易 而且我很愚蠢 但似乎无法弄清楚它的真相 我正在尝试从名为 custom js 的 js 文件对 helpers php 中的某些代码进行简单的 AJAX 调用 然而 我不断收到 404 错误 因为我似乎没有正确遍历
  • 如何加密然后解密数据库类文件中使用的用户名和密码文本

    我创建了一个类文件database php 它处理所有sql 查询并连接到数据库 我将数据库的用户名和密码存储在一个变量中 如果可以访问 php 文件 很容易看到 我想加密该用户名和密码 这样即使在拥有该 php 文件之后 人们也无法知道原
  • 使用 PHP 获取 XML 文件的内容 [重复]

    这个问题在这里已经有答案了 可能的重复 file get contents 与 https https stackoverflow com questions 1975461 file get contents with https 使用
  • .htaccess 只允许访问包含文件

    我的网站上有各种子文件夹 我希望用户无法通过 URL 访问它们 但同时我的主要 PHP 文件能够包含它们或将它们用作表单或链接上的操作 我尝试使用 htaccess 与
  • 弹出窗口显示来自 php 和 javascript 的结果

    我正在尝试实现 javascript 来显示 php 的结果 基本上 我有一个登录页面 对于登录失败 我希望结果显示在弹出窗口中 而不是仅仅用 php 回显它们 我尝试实现警报框 但看起来我错过了一些东西 成功登录将被重定向到logged
  • 从 Woocommerce 商店页面中的特定自定义元数据中过滤产品

    我需要过滤 WooCommerce 商店页面 并且只想显示需要自定义产品元数据的产品 这是我在archive product php Hook woocommerce before shop loop hooked wc print not
  • 单击时获取按钮值并回显它

    我是 php 的初学者 我的第一个任务是构建一个计算器 我在这里询问如何从按钮获取值并在同一页面上回显它 我正在尝试使用 isset 通过方法发布 但能够在同一页面上显示任何值
  • CodeIgniter 中的多条件 WHERE 子句

    我想删除核心 PHP 中的一些数据 例如这个查询 WHERE user id id AND sender id send id OR user id send id AND sender id id 所以我在 CodeIgniter 中使用
  • SalesForce.com:通过 PHP 检索自定义字段

    我在 SalesForce DE 站点中创建了一个简单的自定义联系人对象 API 名称为 Contact c 该对象有一个 Full Name c 字段 用于测试连接 然后我尝试通过 PHP 检索所有联系人 特别是此字段 try mySfo
  • PHP Money_format(); £ 符号不是 GBP

    我不知道如何获取货币符号 目前我正在使用 setlocale LC MONETARY en GB money format i 1000 这给了我输出 GBP1 000 但我想要 1 000 我已经查看了 PHP 手册 但没有多大帮助 有任
  • XPath 节点到字符串

    如何选择以下节点的字符串内容 span class url word b class test b span span class url word b class test2 b more words span 我尝试过一些事情 span

随机推荐

  • 使用objectid解析ios wherekey

    In my Message Parse 中的表有一个名为对话的字段 它是一个pointer to a Conversation 我的数据库中的另一个表 查询一个Message 我可不可以做 PFQuery messageQuery PFQu
  • MVC 6 中的捆绑和缩小

    看起来捆绑和缩小不再内置于 MVC 6 中 因为不再有App Start and Bundle Config 最终版本发布后会出现这种情况吗 我猜应该使用 Grunt 因为它似乎已融入 Visual Studio 2015 中 UPDATE
  • UIWebView 和 NSURLConnection 共享 cookie 存储吗?

    我正在构建一个使用 Google App Engine 作为后端的 iOS 应用程序 Google 提供了一个存储身份验证 cookie 的 HTML 登录站点 如果我在 UIWebView 中访问该站点并且用户登录 那么这些 cookie
  • XNA 4:导入 FBX 问题

    我在从 FBX 文件导入 3D 模型时遇到问题 源模型包含 575 个对象 1 个相机 如下所示 http habreffect ru files 23d 542fa7f67 source model png http habreffect
  • 如何检查.NET Core中是否存在配置节?

    如何检查配置节是否存在于appsettings json在 NET Core 中 即使某个部分不存在 以下代码也将始终返回一个实例化实例 e g var section this Configuration GetSection
  • Xcode10 - dyld:未加载框架中安装的 pod 的库

    我有一个带有目标框架的项目 主应用程序目标 框架A FrameworkA 是唯一使用某个 pod 的框架 因此在我的 pod 文件中我有类似的内容 target MainAppTarget do end target FrameworkA
  • 从更新面板异步回发后保持滚动位置

    我在使用 ASP NET 和更新面板时遇到一些问题 问题是 每次从更新面板发生部分回发时 页面都会滚动回顶部 在我的大多数页面上 这并不是一个大问题 但在某些页面上可能会变得很长 然后 当用户位于页面底部时 我显示 jQuery 弹出窗口R
  • 在 Sublime Text 3 中,我可以将 do 文件的选择发送到 Stata 吗?

    This SO question https stackoverflow com questions 18361667 is there a command line editor that highlights the stata syn
  • 为什么我删除的函数在 Node.js 中不是 typeof“undefined”?

    我正在使用 Node js 在我的 sum 函数被删除后 我希望 typeof sum 返回 undefined 但事实并非如此 functions are data in Javascript var sum function a b r
  • JQuery 模糊动画

    我使用以下脚本在单击按钮时模糊一个框 但如何使模糊需要 500 毫秒 document ready function attach click event to button button click function when butto
  • oracle sql if条件然后选择语句1 else选择语句2

    我有参数 prmtr我想要的是根据参数输入使用 select 语句 我试过这个 if prmtr A then select from tblA else select from tblB end if 但这是行不通的 还有其他方法可以做到
  • C++/OpenCV - 用于视频稳定的卡尔曼滤波器

    我尝试使用卡尔曼滤波器稳定视频以进行平滑 但我有一些问题 每次 我都有两帧 一帧是当前帧 另一帧是当前帧 这是我的工作流程 计算 goodFeaturesToTrack 使用 calcOpticalFlowPyrLK 计算光流 只保留优点
  • 在vb.net中将数据从DG和其他控件拖到另一个DG

    我在 VB Net 2010 中有表格 我想在 dgRegister 和日期 课程 ID 中单击并拖动多行 将其放入 dgCourseStudent 中 其中包含日期 注册 ID 注册名称和课程 ID 列 如何用vb net语言编写这个代码
  • 从 Visual Studio 搜索中排除特定文件

    是否可以从 Visual Studio 中的搜索中排除某些文件 例如 jquery js 几乎总是污染我的搜索结果 一半结果来自该文件 我知道您可以将特定类型列入白名单 但是当我想在 js 扩展名中搜索时 有解决方案吗 在这里投票功能 ht
  • 有没有办法使用 Paramiko 和 Python 来获取您连接的 SSH 服务器的横幅?

    有没有办法使用 Paramiko 和 Python 来获取您尝试连接的 SSH 服务器的横幅 我正在处理许多机器的超安全服务器设置过程 密码是通过预定义的密钥生成的 该密钥与 SSH 横幅一起打印出来 我可以访问将为我提供密码的实用程序 但
  • babeljs 无法正确转换扩展类[重复]

    这个问题在这里已经有答案了 我从这里得到了这个示例代码MDN https developer mozilla org en US docs Web JavaScript Reference Classes extends 稍微修改一下打印结
  • Windows 上的 MariaDB - 入门帮助?

    我正在尝试学习 MariaDB v5 2 4 但遇到了一些问题 我可以下载并安装它 但它似乎没有运行或者我丢失了一些东西 我正在为在 Windows 上运行的第一个计时器寻找一个好的资源 几个具体问题 是否需要 MySQL 才能运行 很多安
  • 有没有一个Java解析器可以解析这样的地址[重复]

    这个问题在这里已经有答案了 我正在使用 Java 6 我正在寻找一种自动解析地址的方法 我不关心地址是否存在 我发现的最好的东西是 JGeocoder v 0 4 1 但 JGeocoder 无法解析这样的地址 16th Street Th
  • 材质2调色板对比色

    在调色板中 我可以看到对比 如何选择对比色 works scss mat color button primary 不工作 scss mat color button primary contrast 900 看到底部写着对比 scss m
  • 如何在 PHP 中检测、删除和重定向末尾带有 # 的 url?

    客户要求我自动将任何带有井号的网址重定向到不带井号的版本 但我认为我没有使用此公式在任何网址中检测到 我使用 curPageURL 公式通过电子邮件给自己发送了一个示例 URL 它在我正在测试的 URL 中不包含尾随 符号 function